ConfigAdmin クラス. [詳細]
#include <ConfigAdmin.h>
構成 | |
struct | find_conf |
Public メソッド | |
ConfigAdmin (coil::Properties &prop) | |
コンストラクタ | |
~ConfigAdmin (void) | |
仮想デストラクタ | |
template<typename VarType > | |
bool | bindParameter (const char *param_name, VarType &var, const char *def_val, bool(*trans)(VarType &, const char *)=coil::stringTo) |
コンフィギュレーションパラメータの設定 | |
void | update (void) |
コンフィギュレーションパラメータの更新 (アクティブコンフィギュレーションセット) | |
void | update (const char *config_set) |
コンフィギュレーションパラメータの更新(ID指定) | |
void | update (const char *config_set, const char *config_param) |
コンフィギュレーションパラメータの更新(名称指定) | |
bool | isExist (const char *name) |
コンフィギュレーションパラメータの存在確認 | |
bool | isChanged (void) |
コンフィギュレーションパラメータの変更確認 | |
const char * | getActiveId (void) |
アクティブ・コンフィギュレーションセットIDの取得 | |
bool | haveConfig (const char *config_id) |
コンフィギュレーションセットの存在確認 | |
bool | isActive (void) |
コンフィギュレーションセットのアクティブ化確認 | |
const std::vector < coil::Properties * > & | getConfigurationSets (void) |
全コンフィギュレーションセットの取得 | |
const coil::Properties & | getConfigurationSet (const char *config_id) |
指定したIDのコンフィギュレーションセットの取得 | |
bool | setConfigurationSetValues (const coil::Properties &configuration_set) |
指定したプロパティのコンフィギュレーションセットへの追加 | |
const coil::Properties & | getActiveConfigurationSet (void) |
アクティブ・コンフィギュレーションセットを取得 | |
bool | addConfigurationSet (const coil::Properties &configuration_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 を削除する. | |
Protected メソッド | |
void | onUpdate (const char *config_set) |
コンフィギュレーションパラメータの更新(ID指定)時にコールされる | |
void | onUpdateParam (const char *config_set, const char *config_param) |
コンフィギュレーションパラメータの更新(名称指定)時にコールされる | |
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() 関数を用いる。
コンフィギュレーション操作をフックするためにコールバックファンクタ を与えることができる。フックできる操作は以下の通り。
RTC::ConfigAdmin::ConfigAdmin | ( | coil::Properties & | prop | ) |
コンストラクタ
コンストラクタ
prop | 設定対象プロパティ名 |
RTC::ConfigAdmin::~ConfigAdmin | ( | void | ) |
仮想デストラクタ
仮想デストラクタ。
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 & | configuration_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 | リスナオブジェクトを自動で削除するかどうかのフラグ |
bool RTC::ConfigAdmin::bindParameter | ( | const char * | param_name, | |
VarType & | var, | |||
const char * | def_val, | |||
bool(*)(VarType &, const char *) | trans = coil::stringTo | |||
) | [inline] |
コンフィギュレーションパラメータの設定
コンフィギュレーションパラメータと変数をバインドする 指定した名称のコンフィギュレーションパラメータが既に存在する場合は falseを返す。 <VarType>としてコンフィギュレーションパラメータのデータ型を指定する。
param_name | コンフィギュレーションパラメータ名 | |
var | コンフィギュレーションパラメータ格納用変数 | |
def_val | コンフィギュレーションパラメータデフォルト値 | |
trans | コンフィギュレーションパラメータ文字列変換用関数 |
const coil::Properties& RTC::ConfigAdmin::getActiveConfigurationSet | ( | void | ) |
アクティブ・コンフィギュレーションセットを取得
現在アクティブとなっているコンフィギュレーションセットを取得する。 アクティブとなっているコンフィギュレーションセットが存在しない場合は、 空のコンフィギュレーションセット を返す。
const char* RTC::ConfigAdmin::getActiveId | ( | void | ) | [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 | ( | void | ) |
全コンフィギュレーションセットの取得
設定されている全コンフィギュレーションセットを取得する。
bool RTC::ConfigAdmin::haveConfig | ( | const char * | config_id | ) | [inline] |
コンフィギュレーションセットの存在確認
指定したコンフィギュレーションセットが存在するか確認する。
config_id | 確認対象コンフィギュレーションセットID |
bool RTC::ConfigAdmin::isActive | ( | void | ) | [inline] |
コンフィギュレーションセットのアクティブ化確認
コンフィギュレーションセットがアクティブ化されているか確認する。
bool RTC::ConfigAdmin::isChanged | ( | void | ) | [inline] |
コンフィギュレーションパラメータの変更確認
コンフィギュレーションパラメータが変更されたか確認する。
bool RTC::ConfigAdmin::isExist | ( | const char * | name | ) |
コンフィギュレーションパラメータの存在確認
指定した名称を持つコンフィギュレーションパラメータ変数が存在する か確認する。ここで存在確認を行うパラメータ変数とは、 bindParameter() によって登録される、変数を持つパラメータである。
name | コンフィギュレーションパラメータ名称。 |
void RTC::ConfigAdmin::onActivateSet | ( | const char * | config_id | ) | [protected] |
セットがアクティブ化されたときにコールされる。
設定されてるコールバックオブジェクトを呼び出す。
config_id | プロパティ |
void RTC::ConfigAdmin::onAddConfigurationSet | ( | const coil::Properties & | config_set | ) | [protected] |
設定値が追加されたときにコールされる。
設定されてるコールバックオブジェクトを呼び出す。
configuration_set | プロパティ |
void RTC::ConfigAdmin::onRemoveConfigurationSet | ( | const char * | config_id | ) | [protected] |
セットが削除されてるときにコールされる。
設定されてるコールバックオブジェクトを呼び出す。
config_id | プロパティ |
void RTC::ConfigAdmin::onSetConfigurationSet | ( | const coil::Properties & | config_set | ) | [protected] |
コンフィギュレーションセットへの追加時にコールされる
設定されてるコールバックオブジェクトを呼び出す。
configuration_set | プロパティ |
void RTC::ConfigAdmin::onUpdate | ( | const char * | config_set | ) | [protected] |
コンフィギュレーションパラメータの更新(ID指定)時にコールされる
設定されてるコールバックオブジェクトを呼び出す。
config_set | 設定対象のコンフィギュレーションセットID |
void RTC::ConfigAdmin::onUpdateParam | ( | const char * | config_set, | |
const char * | config_param | |||
) | [protected] |
コンフィギュレーションパラメータの更新(名称指定)時にコールされる
設定されてるコールバックオブジェクトを呼び出す。
config_set | コンフィギュレーションID | |
config_param | コンフィギュレーションパラメータ名 |
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 & | configuration_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 | ) |
void RTC::ConfigAdmin::update | ( | const char * | config_set, | |
const char * | config_param | |||
) |
コンフィギュレーションパラメータの更新(名称指定)
特定のコンフィギュレーション変数の値を、指定したIDを持つコンフィ ギュレーションセットの値で更新する。これにより、アクティブなコン フィギュレーションセットは変更されない。したがって、アクティブコ ンフィギュレーションセットとパラメータ変数の間に矛盾が発生する可 能性があるので注意が必要である。
指定したIDのコンフィギュレーションセットや、指定した名称のパラメー タが存在しない場合は、何もせずに終了する。
config_set | コンフィギュレーションID | |
config_param | コンフィギュレーションパラメータ名 |
void RTC::ConfigAdmin::update | ( | const char * | config_set | ) |
コンフィギュレーションパラメータの更新(ID指定)
コンフィギュレーション変数の値を、指定したIDを持つコンフィギュレー ションセットの値で更新する。これにより、アクティブなコンフィギュ レーションセットは変更されない。したがって、アクティブコンフィギュ レーションセットとパラメータ変数の間に矛盾が発生する可能性がある ので注意が必要である。
指定したIDのコンフィギュレーションセットが存在しない場合は、何も せずに終了する。
config_set | 設定対象のコンフィギュレーションセットID |
void RTC::ConfigAdmin::update | ( | void | ) |
コンフィギュレーションパラメータの更新 (アクティブコンフィギュレーションセット)
コンフィギュレーションセットが更新されている場合に、現在アクティ ブになっているコンフィギュレーションに設定した値で、コンフィギュ レーションパラメータの値を更新する。この処理での更新は、アクティ ブとなっているコンフィギュレーションセットが存在している場合、前 回の更新からコンフィギュレーションセットの内容が更新されている場 合のみ実行される。