19 #ifndef RTC_CONFIGADMIN_H
20 #define RTC_CONFIGADMIN_H
225 virtual bool update(
const char* val) = 0;
281 template <
typename VarType,
282 typename TransFunc = bool (*)(VarType&,
const char*)>
312 Config(
const char* name, VarType& var,
const char* def_val,
314 :
ConfigBase(name, def_val), m_var(var), m_trans(trans)
358 virtual bool update(
const char* val)
360 if ((*m_trans)(m_var, val)) {
return true; }
361 (*m_trans)(m_var, default_value);
611 template <
typename VarType>
612 bool bindParameter(
const char* param_name, VarType& var,
616 if (param_name == 0) {
return false; }
617 if (def_val == 0) {
return false; }
618 if (isExist(param_name)) {
return false; }
619 if (!trans(var, def_val)) {
return false; }
620 m_params.push_back(
new Config<VarType>(param_name, var, def_val, trans));
686 void update(
const char* config_set);
725 void update(
const char* config_set,
const char* config_param);
753 bool isExist(
const char* name);
822 bool haveConfig(
const char* config_id)
824 return (m_configsets.hasKey(config_id) == NULL) ?
false :
true;
874 const std::vector<coil::Properties*>& getConfigurationSets(
void);
1040 bool removeConfigurationSet(
const char* config_id);
1069 bool activateConfigurationSet(
const char* config_id);
1123 bool autoclean =
true);
1185 bool autoclean =
true);
1249 bool autoclean =
true);
1301 void onUpdate(
const char* config_set);
1324 void onUpdateParam(
const char* config_set,
const char* config_param);
1387 void onRemoveConfigurationSet(
const char* config_id);
1408 void onActivateSet(
const char* config_id);
1417 find_conf(
const char* name) : m_name(name) {};
1418 bool operator()(ConfigBase* conf)
1420 if (conf == 0) {
return false; }
1421 return (m_name == conf->name);
1427 std::vector<ConfigBase*> m_params;
1428 std::string m_activeId;
1431 std::vector<std::string> m_newConfig;
1432 ConfigurationListeners m_listeners;
1436 #endif // RTC_CONFIGADMIN_H