プロジェクト

全般

プロフィール

機能 #2266

コンフィギュレーションパラメータ変更時に個別のパラメータごとにコールバックが呼ばれるようにする

n-ando12年以上前に追加. 12年以上前に更新.

ステータス:
終了
優先度:
通常
担当者:
対象バージョン:
-
開始日:
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状態の時にのみコールされる。

関係しているリビジョン

リビジョン 499 (差分)
kurihara12年以上前に追加

Now onUpdateParam() callback is called when parameter is updated.
ConfigAdmin::changedParameters() has been added.
RTObject::getConfigService() has been added. refs #2266

履歴

#1 n-ando12年以上前に更新

  • 担当者kurihara にセット

#2 n-ando12年以上前に更新

  • 説明 を更新 (diff)

#3 kurihara12年以上前に更新

  • ステータス新規 から 担当 に変更

#4 kurihara12年以上前に更新

  • ステータス担当 から 解決 に変更
  • 進捗率0 から 100 に変更

r499 にて対応。
examples/ConfigSampleにコールバックを使用するサンプルを追加。 r498

#5 kurihara12年以上前に更新

  • ステータス解決 から 終了 に変更

他の形式にエクスポート: Atom PDF