プロジェクト

全般

プロフィール

機能 #2267

n-ando さんが約13年前に更新

現在の実装では、onUpdateParamコールバックが呼ばれないが、これを個々のパラメータが変更された際に呼ばれるようにする。 
 C++ではr2231/2232にてこの変更を行った。 C++ではr2231にてこの変更を行った。 
 C++における実装方法は以下のとおり。 

 * unbindParameter() の実装 (コールバックとは直接関係ない) 
 * changedParameters() の追加 
 * RTObject::getConfigService() の追加 
 * ConfigBaseにConfigAdminのポインタとメンバー関数ポインタを渡すsetCallback関数を実装 
 * ConfigBaseクラスメンバ変数としてConfigAdminのポインタとメンバー関数ポインタを追加 
 * bindParameter関数内でsetCallbackにてConfigAdminとメンバ関数onUpdateParamを渡す 
 * 実際にコールバックを呼ぶConfigBase::nofityUpdateを実装 
 * Configクラスでは、update()関数内で変数の値の変更があった場合にnotifyUpdateを呼ぶ 

 なお、ConfigAdmin::update() が呼ばれて初めて変数の値が変更されるため、特に意図的にコールしなければこのコールバックはRTCがactive状態の時にのみコールされる。

戻る