19 #ifndef RTC_CONFIGADMIN_H 20 #define RTC_CONFIGADMIN_H 267 virtual bool update(
const char* val) = 0;
349 template <
typename VarType,
350 typename TransFunc = bool (*)(VarType&,
const char*)>
382 :
ConfigBase(name, def_val), m_var(var), m_trans(trans)
431 if ((*m_trans)(m_var, val))
691 template <
typename VarType>
696 if (param_name == 0) {
return false; }
697 if (def_val == 0) {
return false; }
698 if (isExist(param_name)) {
return false; }
699 if (!trans(var, def_val)) {
return false; }
701 m_params.push_back(c);
703 update(getActiveId(), param_name);
732 bool unbindParameter(
const char* param_name);
796 void update(
const char* config_set);
835 void update(
const char* config_set,
const char* config_param);
863 bool isExist(
const char*
name);
955 return (m_configsets.hasKey(config_id) == NULL) ?
false :
true;
1005 const std::vector<coil::Properties*>& getConfigurationSets(
void);
1171 bool removeConfigurationSet(
const char* config_id);
1200 bool activateConfigurationSet(
const char* config_id);
1205 void setOnUpdate(OnUpdateCallback* cb);
1207 void setOnUpdateParam(OnUpdateParamCallback* cb);
1209 void setOnSetConfigurationSet(OnSetConfigurationSetCallback* cb);
1211 void setOnAddConfigurationSet(OnAddConfigurationAddCallback* cb);
1213 void setOnRemoveConfigurationSet(OnRemoveConfigurationSetCallback* cb);
1215 void setOnActivateSet(OnActivateSetCallback* cb);
1254 bool autoclean =
true);
1316 bool autoclean =
true);
1380 bool autoclean =
true);
1432 void onUpdate(
const char* config_set);
1455 void onUpdateParam(
const char* config_set,
const char* config_param);
1518 void onRemoveConfigurationSet(
const char* config_id);
1539 void onActivateSet(
const char* config_id);
1548 find_conf(
const char* name) : m_name(name) {};
1551 if (conf == 0) {
return false; }
1552 return (m_name == conf->
name);
1558 std::vector<ConfigBase*> m_params;
1559 std::string m_activeId;
1568 #endif // RTC_CONFIGADMIN_H void onUpdateParam(const char *config_set, const char *config_param)
When the configuration parameter is updated, it is called.
ConfigBase abstract class.
Definition: ConfigAdmin.h:159
ConfigurationSetNameListener OnActivateSetCallback
Definition: ConfigAdmin.h:121
std::string string_value
Current value in string format.
Definition: ConfigAdmin.h:295
ConfigurationParamListener OnUpdateParamCallback
Definition: ConfigAdmin.h:69
void setCallback(ConfigAdmin *cadmin, CallbackFunc cbf)
Setting callback.
bool stringTo(To &val, const char *str)
Convert the given std::string to object.
Definition: stringutil.h:633
ConfigBase(const char *name_, const char *def_val)
Constructer.
Definition: ConfigAdmin.h:182
ConfigAdmin * m_admin
A pointer to the ConfigAdmin object.
Definition: ConfigAdmin.h:303
ConfigurationSetNameListener OnRemoveConfigurationSetCallback
Definition: ConfigAdmin.h:108
bool isActive(void)
Confirm to activate configuration set.
Definition: ConfigAdmin.h:978
ConfigAdmin class.
Definition: ConfigAdmin.h:610
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
Definition: ConfigurationListener.h:701
coil::vstring & changedParameters()
Changed parameters list.
Definition: ConfigAdmin.h:906
VarType & m_var
Configuration parameter variable.
Definition: ConfigAdmin.h:449
void notifyUpdate(const char *key, const char *val)
Observer function to notify variable changed.
std::vector< std::string > vstring
Definition: stringutil.h:45
ConfigurationSetListener OnAddConfigurationAddCallback
Definition: ConfigAdmin.h:95
bool isChanged(void)
Confirm to change configuration parameters.
Definition: ConfigAdmin.h:885
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:459
const char * name
Configuration name.
Definition: ConfigAdmin.h:276
CallbackFunc m_callback
A member function pointer to the callback function.
Definition: ConfigAdmin.h:311
virtual ~ConfigBase(void)
Virtual Destructor.
Definition: ConfigAdmin.h:202
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:426
const char * getActiveId(void)
Get ID of active configuration set.
Definition: ConfigAdmin.h:927
void(ConfigAdmin::* CallbackFunc)(const char *, const char *)
Definition: ConfigAdmin.h:205
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:692
virtual ~Config(void)
Virtual Destructor.
Definition: ConfigAdmin.h:401
Config class.
Definition: ConfigAdmin.h:351
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:380
bool haveConfig(const char *config_id)
Check the existence of configuration set.
Definition: ConfigAdmin.h:953
const char * default_value
Default value in string format.
Definition: ConfigAdmin.h:285
ConfigurationParamListenerType
The types of ConnectorDataListener.
Definition: ConfigurationListener.h:43
ConfigurationSetListener OnSetConfigurationSetCallback
Definition: ConfigAdmin.h:82
Configuration related event listener classes.