#include <ConfigAdmin.h>
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) |
OnUpdate のコールバックの設定 | |
void | setOnUpdateParam (OnUpdateParamCallback *cb) |
OnUpdateParam のコールバックの設定 | |
void | setOnSetConfigurationSet (OnSetConfigurationSetCallback *cb) |
OnSetConfigurationSet のコールバックの設定 | |
void | setOnAddConfigurationSet (OnAddConfigurationAddCallback *cb) |
OnAddConfigurationSet のコールバックの設定 | |
void | setOnRemoveConfigurationSet (OnRemoveConfigurationSetCallback *cb) |
OnRemoveConfigurationSet のコールバックの設定 | |
void | setOnActivateSet (OnActivateSetCallback *cb) |
OnActivateSet のコールバックの設定 | |
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) |
コンフィギュレーションセットがアクティブ化されたときにコールされる。 | |
構成 | |
struct | find_conf |
各種コンフィギュレーション情報を管理するクラス。 用語を以下のように定義する。
このクラスでは、コンフィギュレーションのための以下の2つの情報を保 持している。
基本的には、(1) のコンフィギュレーションセットのリストのうち一つを、 (2) のパラメータ変数へ反映させる、のが本クラスの目的である。通常、 パラメータ変数の変更操作は、コンフィギュレーションセットの変更とパ ラメータ変数への反映の2段階で行われる。
コンフィギュレーションセットのリストの操作には、以下の関数を用いる。
これらの関数により、コンフィギュレーションセットの変更、追加、削除、 取得、アクティブ化を行う。これらの操作により変更されたコンフィギュ レーションセットを、RTCのアクティビティから使用するパラメータ変数 に反映させるには、以下の update() 関数を用いる。
コンフィギュレーション操作をフックするためにコールバックファンクタ を与えることができる。フックできる操作は以下の通り。
RTC::ConfigAdmin::ConfigAdmin | ( | coil::Properties & | prop | ) |
コンストラクタ
コンストラクタ
prop | 設定対象プロパティ名 |
RTC::ConfigAdmin::~ConfigAdmin | ( | void | ) |
仮想デストラクタ
仮想デストラクタ。
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 | コンフィギュレーションパラメータ文字列変換用関数 |
void RTC::ConfigAdmin::update | ( | void | ) |
コンフィギュレーションパラメータの更新 (アクティブコンフィギュレーションセット)
コンフィギュレーションセットが更新されている場合に、現在アクティ ブになっているコンフィギュレーションに設定した値で、コンフィギュ レーションパラメータの値を更新する。この処理での更新は、アクティ ブとなっているコンフィギュレーションセットが存在している場合、前 回の更新からコンフィギュレーションセットの内容が更新されている場 合のみ実行される。
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 | コンフィギュレーションパラメータ名 |
bool RTC::ConfigAdmin::isExist | ( | const char * | name | ) |
コンフィギュレーションパラメータの存在確認
指定した名称を持つコンフィギュレーションパラメータ変数が存在する か確認する。ここで存在確認を行うパラメータ変数とは、 bindParameter() によって登録される、変数を持つパラメータである。
name | コンフィギュレーションパラメータ名称。 |
bool RTC::ConfigAdmin::isChanged | ( | void | ) | [inline] |
コンフィギュレーションパラメータの変更確認
コンフィギュレーションパラメータが変更されたか確認する。
const char* RTC::ConfigAdmin::getActiveId | ( | void | ) | [inline] |
アクティブ・コンフィギュレーションセットIDの取得
現在アクティブなコンフィギュレーションセットのIDを取得する。
bool RTC::ConfigAdmin::haveConfig | ( | const char * | config_id | ) | [inline] |
コンフィギュレーションセットの存在確認
指定したコンフィギュレーションセットが存在するか確認する。
config_id | 確認対象コンフィギュレーションセットID |
bool RTC::ConfigAdmin::isActive | ( | void | ) | [inline] |
コンフィギュレーションセットのアクティブ化確認
コンフィギュレーションセットがアクティブ化されているか確認する。
const std::vector<coil::Properties*>& RTC::ConfigAdmin::getConfigurationSets | ( | void | ) |
全コンフィギュレーションセットの取得
設定されている全コンフィギュレーションセットを取得する。
const coil::Properties& RTC::ConfigAdmin::getConfigurationSet | ( | const char * | config_id | ) |
指定したIDのコンフィギュレーションセットの取得
IDで指定したコンフィギュレーションセットを取得する。 指定したコンフィギュレーションセットが存在しない場合は、 空のコンフィギュレーションセットを返す。
config_id | 取得対象コンフィギュレーションセットのID |
bool RTC::ConfigAdmin::setConfigurationSetValues | ( | const coil::Properties & | configuration_set | ) |
指定したプロパティのコンフィギュレーションセットへの追加
指定したプロパティをIDで指定したコンフィギュレーションセットへ追加する。 指定したIDと一致するコンフィギュレーションセットが存在しない場合は、 false を返す。
config_id | 追加対象コンフィギュレーションセットのID | |
configuration_set | 追加するプロパティ |
const coil::Properties& RTC::ConfigAdmin::getActiveConfigurationSet | ( | void | ) |
アクティブ・コンフィギュレーションセットを取得
現在アクティブとなっているコンフィギュレーションセットを取得する。 アクティブとなっているコンフィギュレーションセットが存在しない場合は、 空のコンフィギュレーションセット を返す。
bool RTC::ConfigAdmin::addConfigurationSet | ( | const coil::Properties & | configuration_set | ) |
コンフィギュレーションセットに設定値を追加
コンフィギュレーションセットに設定値を追加する。
configuration_set | 追加するプロパティ |
bool RTC::ConfigAdmin::removeConfigurationSet | ( | const char * | config_id | ) |
コンフィギュレーションセットの削除
指定したIDのコンフィギュレーションセットを削除する。
指定したIDのコンフィギュレーションセットが存在しない場合は、 falseを返す。削除可能なコンフィギュレーションセットは、 addConfigruationSet() によって追加したコンフィギュレーションセッ トのみであり、デフォルトコンフィギュレーションセット、コンポーネ ント起動時にファイルから読み込まれるコンフィギュレーションセット は削除することができない。
また、指定したコンフィギュレーションセットが現在アクティブである 場合には、いかなるコンフィギュレーションセットでも削除できない。
この関数により実際にコンフィギュレーションセットが削除された場合、 setOnRemoveConfigurationSet() でセットされたコールバック関数が呼 び出される。
config_id | 削除対象コンフィギュレーションセットのID |
bool RTC::ConfigAdmin::activateConfigurationSet | ( | const char * | config_id | ) |
コンフィギュレーションセットのアクティブ化
指定したIDのコンフィギュレーションセットをアクティブ化する。 指定したIDのコンフィギュレーションセットが存在しない場合は、 falseを返す。
config_id | 削除対象コンフィギュレーションセットのID |
void RTC::ConfigAdmin::setOnUpdate | ( | OnUpdateCallback * | cb | ) |
OnUpdate のコールバックの設定
OnUpdate で呼ばれるコールバックのオブジェクトを設定する。
cb | OnUpdateCallback型のオブジェクト |
void RTC::ConfigAdmin::setOnUpdateParam | ( | OnUpdateParamCallback * | cb | ) |
OnUpdateParam のコールバックの設定
OnUpdateParam で呼ばれるコールバックのオブジェクトを設定する。
cb | OnUpdateParamCallback型のオブジェクト |
void RTC::ConfigAdmin::setOnSetConfigurationSet | ( | OnSetConfigurationSetCallback * | cb | ) |
OnSetConfigurationSet のコールバックの設定
OnSetConfigurationSet で呼ばれるコールバックのオブジェクトを設定する。
cb | OnSetConfigurationSetCallback型のオブジェクト |
void RTC::ConfigAdmin::setOnAddConfigurationSet | ( | OnAddConfigurationAddCallback * | cb | ) |
OnAddConfigurationSet のコールバックの設定
OnAddConfigurationSet で呼ばれるコールバックのオブジェクトを設定する。
cb | OnAddConfigurationAddCallback型のオブジェクト |
void RTC::ConfigAdmin::setOnRemoveConfigurationSet | ( | OnRemoveConfigurationSetCallback * | cb | ) |
OnRemoveConfigurationSet のコールバックの設定
OnRemoveConfiguration で呼ばれるコールバックのオブジェクトを設定する。
cb | OnRemoveConfigurationSetCallback型のオブジェクト |
void RTC::ConfigAdmin::setOnActivateSet | ( | OnActivateSetCallback * | cb | ) |
OnActivateSet のコールバックの設定
OnActivateSet で呼ばれるコールバックのオブジェクトを設定する。
cb | OnActivateSetCallback型のオブジェクト |
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::onSetConfigurationSet | ( | const coil::Properties & | config_set | ) | [protected] |
指定したプロパティのコンフィギュレーションセットへの追加された時にコールされる
設定されてるコールバックオブジェクトを呼び出す。
configuration_set | プロパティ |
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::onActivateSet | ( | const char * | config_id | ) | [protected] |
コンフィギュレーションセットがアクティブ化されたときにコールされる。
設定されてるコールバックオブジェクトを呼び出す。
config_id | プロパティ |