OpenRTM-aist 2.0.2
|
ConfigAdmin クラス [詳解]
#include <ConfigAdmin.h>
公開メンバ関数 | |
ConfigAdmin (coil::Properties &configsets) | |
コンストラクタ | |
~ConfigAdmin () | |
仮想デストラクタ | |
template<typename VarType > | |
bool | bindParameter (const char *param_name, VarType &var, const char *def_val, bool(*trans)(VarType &, const char *)=coil::stringTo) |
コンフィギュレーションパラメータの設定 | |
bool | unbindParameter (const char *param_name) |
コンフィギュレーションパラメータの解除 | |
void | update () |
コンフィギュレーションパラメータの更新 (アクティブコンフィギュレーションセット) | |
void | update (const char *config_set) |
コンフィギュレーションパラメータの更新(ID指定) | |
void | update (const char *config_set, const char *config_param) |
コンフィギュレーションパラメータの更新(名称指定) | |
bool | isExist (const char *param_name) |
コンフィギュレーションパラメータの存在確認 | |
bool | isChanged () |
コンフィギュレーションパラメータの変更確認 | |
coil::vstring & | changedParameters () |
変更されたパラメータのリスト | |
const char * | getActiveId () |
アクティブ・コンフィギュレーションセットIDの取得 | |
bool | haveConfig (const char *config_id) |
コンフィギュレーションセットの存在確認 | |
bool | isActive () |
コンフィギュレーションセットのアクティブ化確認 | |
const std::vector< coil::Properties * > & | getConfigurationSets () |
全コンフィギュレーションセットの取得 | |
const coil::Properties & | getConfigurationSet (const char *config_id) |
指定したIDのコンフィギュレーションセットの取得 | |
bool | setConfigurationSetValues (const coil::Properties &config_set) |
指定したプロパティのコンフィギュレーションセットへの追加 | |
const coil::Properties & | getActiveConfigurationSet () |
アクティブ・コンフィギュレーションセットを取得 | |
bool | addConfigurationSet (const coil::Properties &config_set) |
コンフィギュレーションセットに設定値を追加 | |
bool | removeConfigurationSet (const char *config_id) |
コンフィギュレーションセットの削除 | |
bool | activateConfigurationSet (const char *config_id) |
コンフィギュレーションセットのアクティブ化 | |
void | setOnUpdate (OnUpdateCallback *cb) |
void | setOnUpdateParam (OnUpdateParamCallback *cb) |
void | setOnSetConfigurationSet (OnSetConfigurationSetCallback *cb) |
void | setOnAddConfigurationSet (OnAddConfigurationAddCallback *cb) |
void | setOnRemoveConfigurationSet (OnRemoveConfigurationSetCallback *cb) |
void | setOnActivateSet (OnActivateSetCallback *cb) |
void | addConfigurationParamListener (ConfigurationParamListenerType type, ConfigurationParamListener *listener, bool autoclean=true) |
ConfigurationParamListener を追加する | |
void | removeConfigurationParamListener (ConfigurationParamListenerType type, ConfigurationParamListener *listener) |
ConfigurationParamListener を削除する | |
void | addConfigurationSetListener (ConfigurationSetListenerType type, ConfigurationSetListener *listener, bool autoclean=true) |
ConfigurationSetListener を追加する | |
void | removeConfigurationSetListener (ConfigurationSetListenerType type, ConfigurationSetListener *listener) |
ConfigurationSetListener を削除する | |
void | addConfigurationSetNameListener (ConfigurationSetNameListenerType type, ConfigurationSetNameListener *listener, bool autoclean=true) |
ConfigurationSetNameListener を追加する | |
void | removeConfigurationSetNameListener (ConfigurationSetNameListenerType type, ConfigurationSetNameListener *listener) |
ConfigurationSetNameListener を削除する | |
限定公開メンバ関数 | |
void | onUpdate (const char *config_set) |
コンフィギュレーションパラメータの更新(ID指定)時にコールされる | |
void | onUpdateParam (const char *config_param, const char *config_value) |
コンフィギュレーションパラメータの更新(名称指定)時にコールされる | |
void | onSetConfigurationSet (const coil::Properties &config_set) |
コンフィギュレーションセットへの追加時にコールされる | |
void | onAddConfigurationSet (const coil::Properties &config_set) |
設定値が追加されたときにコールされる。 | |
void | onRemoveConfigurationSet (const char *config_id) |
セットが削除されてるときにコールされる。 | |
void | onActivateSet (const char *config_id) |
セットがアクティブ化されたときにコールされる。 | |
ConfigAdmin クラス
各種コンフィギュレーション情報を管理するクラス。 用語を以下のように定義する。
このクラスでは、コンフィギュレーションのための以下の2つの情報を保 持している。
基本的には、(1) のコンフィギュレーションセットのリストのうち一つを、 (2) のパラメータ変数へ反映させる、のが本クラスの目的である。通常、 パラメータ変数の変更操作は、コンフィギュレーションセットの変更とパ ラメータ変数への反映の2段階で行われる。
コンフィギュレーションセットのリストの操作には、以下の関数を用いる。
これらの関数により、コンフィギュレーションセットの変更、追加、削除、 取得、アクティブ化を行う。これらの操作により変更されたコンフィギュ レーションセットを、RTCのアクティビティから使用するパラメータ変数 に反映させるには、以下の update() 関数を用いる。
コンフィギュレーション操作をフックするためにコールバックファンクタ を与えることができる。フックできる操作は以下の通り。
|
explicit |
コンストラクタ
コンストラクタ
prop | 設定対象プロパティ名 |
RTC::ConfigAdmin::~ConfigAdmin | ( | ) |
仮想デストラクタ
仮想デストラクタ。
bool RTC::ConfigAdmin::activateConfigurationSet | ( | const char * | config_id | ) |
コンフィギュレーションセットのアクティブ化
指定したIDのコンフィギュレーションセットをアクティブ化する。 指定したIDのコンフィギュレーションセットが存在しない場合は、 falseを返す。
config_id | 削除対象コンフィギュレーションセットのID |
void RTC::ConfigAdmin::addConfigurationParamListener | ( | ConfigurationParamListenerType | type, |
ConfigurationParamListener * | listener, | ||
bool | autoclean = true ) |
ConfigurationParamListener を追加する
update(const char* config_set, const char* config_param) が呼ばれた際に コールされるリスナ ConfigurationParamListener を追加する。 type には現在のところ ON_UPDATE_CONFIG_PARAM のみが入る。
type | ConfigurationParamListenerType型の値。 ON_UPDATE_CONFIG_PARAM がある。 |
listener | ConfigurationParamListener 型のリスナオブジェクト。 |
autoclean | リスナオブジェクトを自動で削除するかどうかのフラグ |
bool RTC::ConfigAdmin::addConfigurationSet | ( | const coil::Properties & | config_set | ) |
コンフィギュレーションセットに設定値を追加
コンフィギュレーションセットに設定値を追加する。
configuration_set | 追加するプロパティ |
void RTC::ConfigAdmin::addConfigurationSetListener | ( | ConfigurationSetListenerType | type, |
ConfigurationSetListener * | listener, | ||
bool | autoclean = true ) |
ConfigurationSetListener を追加する
ConfigurationSet が更新されたときなどに呼ばれるリスナ ConfigurationSetListener を追加する。設定可能なイベントは以下の 2種類がある。
type | ConfigurationSetListenerType型の値。 |
listener | ConfigurationSetListener 型のリスナオブジェクト。 |
autoclean | リスナオブジェクトを自動で削除するかどうかのフラグ |
void RTC::ConfigAdmin::addConfigurationSetNameListener | ( | ConfigurationSetNameListenerType | type, |
ConfigurationSetNameListener * | listener, | ||
bool | autoclean = true ) |
ConfigurationSetNameListener を追加する
ConfigurationSetName が更新されたときなどに呼ばれるリスナ ConfigurationSetNameListener を追加する。設定可能なイベントは以下の 3種類がある。
type | ConfigurationSetNameListenerType型の値。 |
listener | ConfigurationSetNameListener 型のリスナオブジェクト。 |
autoclean | リスナオブジェクトを自動で削除するかどうかのフラグ |
|
inline |
コンフィギュレーションパラメータの設定
コンフィギュレーションパラメータと変数をバインドする 指定した名称のコンフィギュレーションパラメータが既に存在する場合は falseを返す。 <VarType>としてコンフィギュレーションパラメータのデータ型を指定する。 なお、このメンバ関数が呼ばれた後、現在アクティブなコンフィギュレー ションセットの値が変数にセットされる。
param_name | コンフィギュレーションパラメータ名 |
var | コンフィギュレーションパラメータ格納用変数 |
def_val | コンフィギュレーションパラメータデフォルト値 |
trans | コンフィギュレーションパラメータ文字列変換用関数 |
|
inline |
変更されたパラメータのリスト
コンフィギュレーションパラメータのうち変更されたもののリストを返す。
const coil::Properties & RTC::ConfigAdmin::getActiveConfigurationSet | ( | ) |
アクティブ・コンフィギュレーションセットを取得
現在アクティブとなっているコンフィギュレーションセットを取得する。 アクティブとなっているコンフィギュレーションセットが存在しない場合は、 空のコンフィギュレーションセット を返す。
|
inline |
アクティブ・コンフィギュレーションセットIDの取得
現在アクティブなコンフィギュレーションセットのIDを取得する。
const coil::Properties & RTC::ConfigAdmin::getConfigurationSet | ( | const char * | config_id | ) |
指定したIDのコンフィギュレーションセットの取得
IDで指定したコンフィギュレーションセットを取得する。 指定したコンフィギュレーションセットが存在しない場合は、 空のコンフィギュレーションセットを返す。
config_id | 取得対象コンフィギュレーションセットのID |
const std::vector< coil::Properties * > & RTC::ConfigAdmin::getConfigurationSets | ( | ) |
全コンフィギュレーションセットの取得
設定されている全コンフィギュレーションセットを取得する。
|
inline |
コンフィギュレーションセットの存在確認
指定したコンフィギュレーションセットが存在するか確認する。
config_id | 確認対象コンフィギュレーションセットID |
|
inline |
コンフィギュレーションセットのアクティブ化確認
コンフィギュレーションセットがアクティブ化されているか確認する。
|
inline |
コンフィギュレーションパラメータの変更確認
コンフィギュレーションパラメータが変更されたか確認する。
bool RTC::ConfigAdmin::isExist | ( | const char * | param_name | ) |
コンフィギュレーションパラメータの存在確認
指定した名称を持つコンフィギュレーションパラメータ変数が存在する か確認する。ここで存在確認を行うパラメータ変数とは、 bindParameter() によって登録される、変数を持つパラメータである。
name | コンフィギュレーションパラメータ名称。 |
|
protected |
セットがアクティブ化されたときにコールされる。
設定されてるコールバックオブジェクトを呼び出す。
config_id | プロパティ |
|
protected |
設定値が追加されたときにコールされる。
設定されてるコールバックオブジェクトを呼び出す。
configuration_set | プロパティ |
|
protected |
セットが削除されてるときにコールされる。
設定されてるコールバックオブジェクトを呼び出す。
config_id | プロパティ |
|
protected |
コンフィギュレーションセットへの追加時にコールされる
設定されてるコールバックオブジェクトを呼び出す。
configuration_set | プロパティ |
|
protected |
コンフィギュレーションパラメータの更新(ID指定)時にコールされる
設定されてるコールバックオブジェクトを呼び出す。
config_set | 設定対象のコンフィギュレーションセットID |
|
protected |
コンフィギュレーションパラメータの更新(名称指定)時にコールされる
設定されてるコールバックオブジェクトを呼び出す。
config_set | コンフィギュレーションID |
config_param | コンフィギュレーションパラメータ名 |
参照元 bindParameter().
void RTC::ConfigAdmin::removeConfigurationParamListener | ( | ConfigurationParamListenerType | type, |
ConfigurationParamListener * | listener ) |
ConfigurationParamListener を削除する
addConfigurationParamListener で追加されたリスナオブジェクトを削除する。
type | ConfigurationParamListenerType型の値。 ON_UPDATE_CONFIG_PARAM がある。 |
listener | 与えたリスナオブジェクトへのポインタ |
bool RTC::ConfigAdmin::removeConfigurationSet | ( | const char * | config_id | ) |
コンフィギュレーションセットの削除
指定したIDのコンフィギュレーションセットを削除する。
指定したIDのコンフィギュレーションセットが存在しない場合は、 falseを返す。削除可能なコンフィギュレーションセットは、 addConfigruationSet() によって追加したコンフィギュレーションセッ トのみであり、デフォルトコンフィギュレーションセット、コンポーネ ント起動時にファイルから読み込まれるコンフィギュレーションセット は削除することができない。
また、指定したコンフィギュレーションセットが現在アクティブである 場合には、いかなるコンフィギュレーションセットでも削除できない。
この関数により実際にコンフィギュレーションセットが削除された場合、 setOnRemoveConfigurationSet() でセットされたコールバック関数が呼 び出される。
config_id | 削除対象コンフィギュレーションセットのID |
void RTC::ConfigAdmin::removeConfigurationSetListener | ( | ConfigurationSetListenerType | type, |
ConfigurationSetListener * | listener ) |
ConfigurationSetListener を削除する
addConfigurationSetListener で追加されたリスナオブジェクトを削除する。
type | ConfigurationSetListenerType型の値。 |
listener | 与えたリスナオブジェクトへのポインタ |
void RTC::ConfigAdmin::removeConfigurationSetNameListener | ( | ConfigurationSetNameListenerType | type, |
ConfigurationSetNameListener * | listener ) |
ConfigurationSetNameListener を削除する
addConfigurationSetNameListener で追加されたリスナオブジェクトを 削除する。
type | ConfigurationSetNameListenerType型の値。 ON_UPDATE_CONFIG_PARAM がある。 |
listener | 与えたリスナオブジェクトへのポインタ |
bool RTC::ConfigAdmin::setConfigurationSetValues | ( | const coil::Properties & | config_set | ) |
指定したプロパティのコンフィギュレーションセットへの追加
指定したプロパティをIDで指定したコンフィギュレーションセットへ追加する。 指定したIDと一致するコンフィギュレーションセットが存在しない場合は、 false を返す。
config_id | 追加対象コンフィギュレーションセットのID |
configuration_set | 追加するプロパティ |
void RTC::ConfigAdmin::setOnActivateSet | ( | OnActivateSetCallback * | cb | ) |
void RTC::ConfigAdmin::setOnAddConfigurationSet | ( | OnAddConfigurationAddCallback * | cb | ) |
void RTC::ConfigAdmin::setOnRemoveConfigurationSet | ( | OnRemoveConfigurationSetCallback * | cb | ) |
void RTC::ConfigAdmin::setOnSetConfigurationSet | ( | OnSetConfigurationSetCallback * | cb | ) |
void RTC::ConfigAdmin::setOnUpdate | ( | OnUpdateCallback * | cb | ) |
void RTC::ConfigAdmin::setOnUpdateParam | ( | OnUpdateParamCallback * | cb | ) |
bool RTC::ConfigAdmin::unbindParameter | ( | const char * | param_name | ) |
コンフィギュレーションパラメータの解除
コンフィギュレーションパラメータと変数のバインドを解除する。 指定した名称のコンフィギュレーションパラメータが存在しない場合は falseを返す。
param_name | コンフィギュレーションパラメータ名 |
void RTC::ConfigAdmin::update | ( | ) |
コンフィギュレーションパラメータの更新 (アクティブコンフィギュレーションセット)
コンフィギュレーションセットが更新されている場合に、現在アクティ ブになっているコンフィギュレーションに設定した値で、コンフィギュ レーションパラメータの値を更新する。この処理での更新は、アクティ ブとなっているコンフィギュレーションセットが存在している場合、前 回の更新からコンフィギュレーションセットの内容が更新されている場 合のみ実行される。
void RTC::ConfigAdmin::update | ( | const char * | config_set | ) |
コンフィギュレーションパラメータの更新(ID指定)
コンフィギュレーション変数の値を、指定したIDを持つコンフィギュレー ションセットの値で更新する。これにより、アクティブなコンフィギュ レーションセットは変更されない。したがって、アクティブコンフィギュ レーションセットとパラメータ変数の間に矛盾が発生する可能性がある ので注意が必要である。
指定したIDのコンフィギュレーションセットが存在しない場合は、何も せずに終了する。
config_set | 設定対象のコンフィギュレーションセットID |
void RTC::ConfigAdmin::update | ( | const char * | config_set, |
const char * | config_param ) |
コンフィギュレーションパラメータの更新(名称指定)
特定のコンフィギュレーション変数の値を、指定したIDを持つコンフィ ギュレーションセットの値で更新する。これにより、アクティブなコン フィギュレーションセットは変更されない。したがって、アクティブコ ンフィギュレーションセットとパラメータ変数の間に矛盾が発生する可 能性があるので注意が必要である。
指定したIDのコンフィギュレーションセットや、指定した名称のパラメー タが存在しない場合は、何もせずに終了する。
config_set | コンフィギュレーションID |
config_param | コンフィギュレーションパラメータ名 |