From 745ef2769237377f4ae1ee63374d8e2cb758630a Mon Sep 17 00:00:00 2001 From: Joan Perez Ibarz <jperez@iri.upc.edu> Date: Fri, 4 Feb 2011 15:56:07 +0000 Subject: [PATCH] updating alg_core and examples to move cfg file at the impl_algorithm layer --- .../iri_base_algorithm/iri_base_algorithm.h | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/include/iri_base_algorithm/iri_base_algorithm.h b/include/iri_base_algorithm/iri_base_algorithm.h index 12727aa..c1ac22a 100644 --- a/include/iri_base_algorithm/iri_base_algorithm.h +++ b/include/iri_base_algorithm/iri_base_algorithm.h @@ -198,14 +198,15 @@ class IriBaseAlgorithm : public AbstractAlgorithmNode * \brief dynamic reconfigure server callback * * This method is called whenever a new configuration is received through - * the dynamic reconfigure. + * 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. */ - void reconfigureCallback(Config &config, uint32_t level); + virtual void reconfigureCallback(Config &config, uint32_t level) = 0; /** * \brief add diagnostics @@ -257,11 +258,11 @@ class IriBaseAlgorithm : public AbstractAlgorithmNode template <class Algorithm> IriBaseAlgorithm<Algorithm>::IriBaseAlgorithm() : - private_node_handle_("~"), public_node_handle_(ros::this_node::getName()), + private_node_handle_("~"), + loop_rate_(DEFAULT_RATE), dsrv_(private_node_handle_), - diagnostic_(), - loop_rate_(DEFAULT_RATE) + diagnostic_() { // create thread server instance this->thread_server_ = CThreadServer::instance(); @@ -284,11 +285,11 @@ IriBaseAlgorithm<Algorithm>::~IriBaseAlgorithm() this->thread_server_->kill_thread(this->main_thread_id_); } -template <class Algorithm> -void IriBaseAlgorithm<Algorithm>::reconfigureCallback(Config &config, uint32_t level) -{ - this->alg_.config_ = config; -} +// template <class Algorithm> +// void IriBaseAlgorithm<Algorithm>::reconfigureCallback(Config &config, uint32_t level) +// { +// this->alg_.config_ = config; +// } template <class Algorithm> void IriBaseAlgorithm<Algorithm>::addDiagnostics(void) -- GitLab