操作
機能 #2267
完了コンフィギュレーションパラメータ変更時に個別のパラメータごとにコールバックが呼ばれるようにする
ステータス:
終了
優先度:
通常
担当者:
-
対象バージョン:
-
開始日:
2011/10/10
期日:
進捗率:
100%
予定工数:
説明
現在の実装では、onUpdateParamコールバックが呼ばれないが、これを個々のパラメータが変更された際に呼ばれるようにする。
C++ではr2231/2232にてこの変更を行った。
C++における実装方法は以下のとおり。
- unbindParameter() の実装 (コールバックとは直接関係ない)
- changedParameters() の追加
- RTObject::getConfigService() の追加
- ConfigBaseにConfigAdminのポインタとメンバー関数ポインタを渡すsetCallback関数を実装
- ConfigBaseクラスメンバ変数としてConfigAdminのポインタとメンバー関数ポインタを追加
- bindParameter関数内でsetCallbackにてConfigAdminとメンバ関数onUpdateParamを渡す
- 実際にコールバックを呼ぶConfigBase::nofityUpdateを実装
- Configクラスでは、update()関数内で変数の値の変更があった場合にnotifyUpdateを呼ぶ
なお、ConfigAdmin::update() が呼ばれて初めて変数の値が変更されるため、特に意図的にコールしなければこのコールバックはRTCがactive状態の時にのみコールされる。
操作