diff --git a/include/iri_base_algorithm/iri_base_algorithm.h b/include/iri_base_algorithm/iri_base_algorithm.h index ea4f3f0320f868ffad966ac4f067f737aa9072f4..c8042491a8636034ee47b0bbc8eac50e78b5c3dd 100644 --- a/include/iri_base_algorithm/iri_base_algorithm.h +++ b/include/iri_base_algorithm/iri_base_algorithm.h @@ -228,6 +228,20 @@ class IriBaseAlgorithm : public AbstractAlgorithmNode */ void reconfigureCallback(Config &config, uint32_t level); + /** + * \brief dynamic reconfigure server callback + * + * This method is called whenever a new configuration is received through + * the dynamic reconfigure. The derivated generic algorithm class must + * implement it. + * + * \param config an object with new configuration from all algorithm + * parameters defined in the config file. + * \param level integer referring the level in which the configuration + * has been changed. + */ + virtual void node_config_update(Config &config, uint32_t level) = 0; + /** * \brief add diagnostics * @@ -311,6 +325,7 @@ IriBaseAlgorithm<Algorithm>::~IriBaseAlgorithm() template <class Algorithm> void IriBaseAlgorithm<Algorithm>::reconfigureCallback(Config &config, uint32_t level) { + node_config_update(config, level); this->alg_.config_update(config, level); }