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)
360 if ((*m_trans)(m_var, val)) {
return true; }
361 (*m_trans)(m_var, default_value);
611 template <
typename VarType>
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);
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);
1074 void setOnUpdate(OnUpdateCallback* cb);
1076 void setOnUpdateParam(OnUpdateParamCallback* cb);
1078 void setOnSetConfigurationSet(OnSetConfigurationSetCallback* cb);
1080 void setOnAddConfigurationSet(OnAddConfigurationAddCallback* cb);
1082 void setOnRemoveConfigurationSet(OnRemoveConfigurationSetCallback* cb);
1084 void setOnActivateSet(OnActivateSetCallback* cb);
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
ConfigBase abstract class.
Definition: ConfigAdmin.h:157
ConfigurationSetNameListener OnActivateSetCallback
Definition: ConfigAdmin.h:121
ConfigurationParamListener OnUpdateParamCallback
Definition: ConfigAdmin.h:69
bool stringTo(To &val, const char *str)
Convert the given std::string to object.
Definition: stringutil.h:597
ConfigBase(const char *name_, const char *def_val)
Constructer.
Definition: ConfigAdmin.h:180
ConfigurationSetNameListener OnRemoveConfigurationSetCallback
Definition: ConfigAdmin.h:108
bool isActive(void)
Confirm to activate configuration set.
Definition: ConfigAdmin.h:847
ConfigAdmin class.
Definition: ConfigAdmin.h:534
ConfigurationSetListener class.
Definition: ConfigurationListener.h:188
ConfigurationSetNameListener class.
Definition: ConfigurationListener.h:298
ConfigurationParamListener class.
Definition: ConfigurationListener.h:72
ConfigurationSetNameListenerType
The types of ConfigurationSetNameListener.
Definition: ConfigurationListener.h:266
VarType & m_var
Configuration parameter variable.
Definition: ConfigAdmin.h:373
ConfigurationSetListener OnAddConfigurationAddCallback
Definition: ConfigAdmin.h:95
bool isChanged(void)
Confirm to change configuration parameters.
Definition: ConfigAdmin.h:775
virtual bool update(const char *val)=0
Pure virtual function to update configuration parameter values.
TransFunc m_trans
Transformation function to convert configuration parameter type into string format.
Definition: ConfigAdmin.h:383
const char * name
Configuration name.
Definition: ConfigAdmin.h:234
virtual ~ConfigBase(void)
Virtual Destructor.
Definition: ConfigAdmin.h:198
Class represents a set of properties.
Definition: Properties.h:101
Property list class (derived from Java Properties)
virtual bool update(const char *val)
Update a bind parameter value.
Definition: ConfigAdmin.h:358
const char * getActiveId(void)
Get ID of active configuration set.
Definition: ConfigAdmin.h:796
ConfigurationSetNameListener OnUpdateCallback
Definition: ConfigAdmin.h:56
bool bindParameter(const char *param_name, VarType &var, const char *def_val, bool(*trans)(VarType &, const char *)=coil::stringTo)
Setup for configuration parameters.
Definition: ConfigAdmin.h:612
virtual ~Config(void)
Virtual Destructor.
Definition: ConfigAdmin.h:333
Config class.
Definition: ConfigAdmin.h:283
ConfigurationSetListenerType
The types of ConfigurationSetListener.
Definition: ConfigurationListener.h:158
Config(const char *name, VarType &var, const char *def_val, TransFunc trans=coil::stringTo)
Constructor.
Definition: ConfigAdmin.h:312
bool haveConfig(const char *config_id)
Check the existence of configuration set.
Definition: ConfigAdmin.h:822
const char * default_value
Default value in string format.
Definition: ConfigAdmin.h:243
ConfigurationParamListenerType
The types of ConnectorDataListener.
Definition: ConfigurationListener.h:43
ConfigurationSetListener OnSetConfigurationSetCallback
Definition: ConfigAdmin.h:82
Configuration related event listener classes.