プロジェクト

全般

プロフィール

機能 #2267

完了

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

n-ando さんが約13年前に追加. ほぼ13年前に更新.

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

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