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)
コンフィギュレーションパラメータの更新(名称指定)時にコールされる
ConfigBase 抽象クラス
Definition: ConfigAdmin.h:159
ConfigurationSetNameListener OnActivateSetCallback
Definition: ConfigAdmin.h:121
std::string string_value
文字列形式の現在値
Definition: ConfigAdmin.h:295
ConfigurationParamListener OnUpdateParamCallback
Definition: ConfigAdmin.h:69
void setCallback(ConfigAdmin *cadmin, CallbackFunc cbf)
コールバックのセット
bool stringTo(To &val, const char *str)
与えられたstd::stringをオブジェクトに変換
Definition: stringutil.h:633
ConfigBase(const char *name_, const char *def_val)
コンストラクタ
Definition: ConfigAdmin.h:182
ConfigAdmin * m_admin
ConfigAdminオブジェクトへのポインタ
Definition: ConfigAdmin.h:303
ConfigurationSetNameListener OnRemoveConfigurationSetCallback
Definition: ConfigAdmin.h:108
bool isActive(void)
コンフィギュレーションセットのアクティブ化確認
Definition: ConfigAdmin.h:978
ConfigAdmin クラス
Definition: ConfigAdmin.h:610
ConfigurationSetListener クラス
Definition: ConfigurationListener.h:188
ConfigurationSetNameListener クラス
Definition: ConfigurationListener.h:298
ConfigurationParamListener クラス
Definition: ConfigurationListener.h:72
ConfigurationSetNameListenerType
ConfigurationSetNameListenerType.
Definition: ConfigurationListener.h:266
Definition: ConfigurationListener.h:701
coil::vstring & changedParameters()
変更されたパラメータのリスト
Definition: ConfigAdmin.h:906
VarType & m_var
コンフィギュレーションパラメータ格納用変数
Definition: ConfigAdmin.h:449
void notifyUpdate(const char *key, const char *val)
変数変更を知らせるオブザーバ関数
std::vector< std::string > vstring
Definition: stringutil.h:45
ConfigurationSetListener OnAddConfigurationAddCallback
Definition: ConfigAdmin.h:95
bool isChanged(void)
コンフィギュレーションパラメータの変更確認
Definition: ConfigAdmin.h:885
virtual bool update(const char *val)=0
コンフィギュレーションパラメータ値更新用純粋仮想関数
TransFunc m_trans
コンフィギュレーションパラメータ型文字列変換関数
Definition: ConfigAdmin.h:459
const char * name
コンフィギュレーション名
Definition: ConfigAdmin.h:276
CallbackFunc m_callback
コールバックのメンバ関数ポインタ
Definition: ConfigAdmin.h:311
virtual ~ConfigBase(void)
仮想デストラクタ
Definition: ConfigAdmin.h:202
プロパティセットを表現するクラス
Definition: Properties.h:101
Property list class (derived from Java Properties)
virtual bool update(const char *val)
バインドパラメータ値を更新
Definition: ConfigAdmin.h:426
const char * getActiveId(void)
アクティブ・コンフィギュレーションセットIDの取得
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)
コンフィギュレーションパラメータの設定
Definition: ConfigAdmin.h:692
virtual ~Config(void)
仮想デストラクタ
Definition: ConfigAdmin.h:401
Config クラス
Definition: ConfigAdmin.h:351
ConfigurationSetListenerType
ConfigurationSetListener のタイプ
Definition: ConfigurationListener.h:158
Config(const char *name, VarType &var, const char *def_val, TransFunc trans=coil::stringTo)
コンストラクタ
Definition: ConfigAdmin.h:380
bool haveConfig(const char *config_id)
コンフィギュレーションセットの存在確認
Definition: ConfigAdmin.h:953
const char * default_value
文字列形式のデフォルト値
Definition: ConfigAdmin.h:285
ConfigurationParamListenerType
ConfigurationParamListener のタイプ
Definition: ConfigurationListener.h:43
ConfigurationSetListener OnSetConfigurationSetCallback
Definition: ConfigAdmin.h:82
Configuration related event listener classes.