orocos_cpp
ConfigurationHelper.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include <rtt/TaskContext.hpp>
4 #include <lib_config/Configuration.hpp>
5 
6 
7 //forwards:
8 
9 namespace Typelib{
10  class Value;
11 }
12 
13 namespace orocos_cpp
14 {
15 
17 {
18 public:
19 
26  bool applyConfig(RTT::TaskContext *context, const libConfig::Configuration &config);
27  bool applyConfig(const std::string &configFilePath, RTT::TaskContext *context, const std::vector<std::string> &names);
28  bool applyConfig(RTT::TaskContext *context, const std::vector<std::string> &names);
29  bool applyConfig(RTT::TaskContext *context, const std::string &conf1);
30  bool applyConfig(RTT::TaskContext *context, const std::string &conf1, const std::string &conf2);
31  bool applyConfig(RTT::TaskContext *context, const std::string &conf1, const std::string &conf2, const std::string &conf3);
32  bool applyConfig(RTT::TaskContext *context, const std::string &conf1, const std::string &conf2, const std::string &conf3, const std::string &conf4);
33  bool registerOverride(const std::string& taskName, libConfig::Configuration &config);
34 
42  bool applyConfigValueOnDSB(RTT::base::DataSourceBase::shared_ptr dsb,
43  const RTT::types::TypeInfo* typeInfo, const libConfig::ConfigValue& value);
44 
45 private:
46  std::map<std::string, libConfig::Configuration> subConfigs;
47  std::map<std::string, libConfig::Configuration> overrides;
48  bool mergeConfig(const std::vector<std::string> &names, libConfig::Configuration &result);
49  bool applyConfToProperty(RTT::TaskContext* context, const std::string &propertyName, const libConfig::ConfigValue &value);
50 };
51 
52 }//end of namespace
53 
Definition: ConfigurationHelper.hpp:13
Definition: ConfigurationHelper.hpp:9
Definition: ConfigurationHelper.hpp:16