クラス RTC::ConfigAdmin

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. パラメータ変数のリスト

基本的には、(1) のコンフィギュレーションセットのリストのうち一つを、 (2) のパラメータ変数へ反映させる、のが本クラスの目的である。通常、 パラメータ変数の変更操作は、コンフィギュレーションセットの変更とパ ラメータ変数への反映の2段階で行われる。

コンフィギュレーションセットのリストの操作には、以下の関数を用いる。

これらの関数により、コンフィギュレーションセットの変更、追加、削除、 取得、アクティブ化を行う。これらの操作により変更されたコンフィギュ レーションセットを、RTCのアクティビティから使用するパラメータ変数 に反映させるには、以下の update() 関数を用いる。

コンフィギュレーション操作をフックするためにコールバックファンクタ を与えることができる。フックできる操作は以下の通り。

から:
0.4.0

コンストラクタとデストラクタ

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
戻り値:
アクティブ処理結果(成功:true、失敗:false)
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 追加するプロパティ
戻り値:
追加処理結果(追加成功:true、追加失敗:false)
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種類がある。

  • ON_UPDATE_CONFIG_SET: ある ConfigurationSet がアップデートされた
  • ON_REMOVE_CONFIG_SET: ある ConfigurationSet が削除された
  • ON_ACTIVATE_CONFIG_SET: ある ConfigurationSet がアクティブ化された
引数:
type ConfigurationSetNameListenerType型の値。
listener ConfigurationSetNameListener 型のリスナオブジェクト。
autoclean リスナオブジェクトを自動で削除するかどうかのフラグ
template<typename VarType >
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 コンフィギュレーションパラメータ文字列変換用関数
戻り値:
設定結果(設定成功:true,設定失敗:false)

参照元 RTC::RTObject_impl::bindParameter().

const coil::Properties& RTC::ConfigAdmin::getActiveConfigurationSet ( void   ) 

アクティブ・コンフィギュレーションセットを取得

現在アクティブとなっているコンフィギュレーションセットを取得する。 アクティブとなっているコンフィギュレーションセットが存在しない場合は、 空のコンフィギュレーションセット を返す。

戻り値:
アクティブ・コンフィギュレーションセット
const char* RTC::ConfigAdmin::getActiveId ( void   )  [inline]

アクティブ・コンフィギュレーションセットIDの取得

現在アクティブなコンフィギュレーションセットの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
戻り値:
存在確認結果(指定したConfigSetあり:true、なし:false)
bool RTC::ConfigAdmin::isActive ( void   )  [inline]

コンフィギュレーションセットのアクティブ化確認

コンフィギュレーションセットがアクティブ化されているか確認する。

戻り値:
状態確認結果(アクティブ状態:true、非アクティブ状態:false)
bool RTC::ConfigAdmin::isChanged ( void   )  [inline]

コンフィギュレーションパラメータの変更確認

コンフィギュレーションパラメータが変更されたか確認する。

戻り値:
変更確認結果(変更あり:true、変更なし:false)
bool RTC::ConfigAdmin::isExist ( const char *  name  ) 

コンフィギュレーションパラメータの存在確認

指定した名称を持つコンフィギュレーションパラメータ変数が存在する か確認する。ここで存在確認を行うパラメータ変数とは、 bindParameter() によって登録される、変数を持つパラメータである。

引数:
name コンフィギュレーションパラメータ名称。
戻り値:
存在確認結果(パラメータあり:true,パラメータなし:false)
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
戻り値:
削除処理結果(削除成功:true、削除失敗:false)
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 追加するプロパティ
戻り値:
追加処理実行結果(追加成功:true、追加失敗:false)
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   ) 

コンフィギュレーションパラメータの更新 (アクティブコンフィギュレーションセット)

コンフィギュレーションセットが更新されている場合に、現在アクティ ブになっているコンフィギュレーションに設定した値で、コンフィギュ レーションパラメータの値を更新する。この処理での更新は、アクティ ブとなっているコンフィギュレーションセットが存在している場合、前 回の更新からコンフィギュレーションセットの内容が更新されている場 合のみ実行される。

OpenRTMに対してFri Mar 11 00:00:50 2011に生成されました。  doxygen 1.6.3