OpenRTM-aist-Python 2.0.2
|
公開メンバ関数 | |
init (self, props) | |
reinit (self, props) | |
getProfile (self) | |
finalize (self) | |
LocalService 基底クラス
Local Service とは RT-Middlewareのマネージャデーモン内で各種サービ スを提供するための仕組みである。Local Serviceにはいくつかのユース ケースが考えられる。
Local Service はモジュールとしてロードされ、通常唯一のインスタンス が生成される。すなわち、LocalService はシングルトンとして実装され る。インスタンス化されたサービスはサービスリストに登録され、RTC等 からは名前やUUIDによってインスタンスの参照を入手することができる。
このオブジェクトのライフサイクルは以下の通り。
このクラスの実装に当たっては、少なくとも以下の純粋仮想関数を実装す る必要がある。
LocalService は通常共有オブジェクトとしてコンパイル・リンク される。共有オブジェクトのエントリポイントは通常コンパイルされたファ イル名の basename + "Init" にしておく。以下に、クラス名、ファイル 名、エントリポイント関数名の推奨例を示す。
エントリポイント関数は通常以下のように、LocalServiceFactory に当該コンシューマのファクトリ (と解体ファンクタ) を登録する以下の ような関数になる。
extern "C" { void MyLocalServiceInit() { RTC.LocalServiceFactory& factory = RTC.LocalServiceFactory.instance(); factory.addFactory(.RTC.MyLocalSerivce.name, .coil.Creator< .RTC.LocalServiceBase, .RTC.MyLocalService>); } };
OpenRTM_aist.LocalServiceBase.LocalServiceBase.finalize | ( | self | ) |
終了処理
LocalService が終了する際に呼び出される終了処理用関数。当該オブ ジェクトが保持するリソースを解放するなどの処理を行う。
virtual void finalize() = 0;
OpenRTM_aist.LocalServiceBase.LocalServiceBase.getProfile | ( | self | ) |
init()/reinit()で与えられた LocalServiceProfile は通常オブジェク ト内で保持される。この関数では保持されている ServiceProfile を返 す。
virtual const LocalServiceProfile& getProfile() const = 0;
OpenRTM_aist.LocalServiceBase.LocalServiceBase.init | ( | self, | |
props ) |
LocalServiceクラスの初期化関数
このオブジェクトの初期化を行う。LocalService を実装する場合、外 部からの設定情報は、このinit()関数により与えられる。
profile | 外部から与えられた LocalServiceProfile |
virtual bool init(const coil.Properties& props) = 0;
OpenRTM_aist.LocalServiceBase.LocalServiceBase.reinit | ( | self, | |
props ) |
LocalServiceクラスの再初期化関数
TODO: ドキュメント作成
profile | 新たに与えられた LocalServiceProfile |
virtual bool reinit(const coil.Properties& props) = 0;