操作
機能 #3401
完了② ネームサービス操作関数セットの実装
開始日:
2015/12/22
期日:
2016/03/25
進捗率:
100%
予定工数:
30.00時間
説明
ネームサービスにコンポーネント内部から、あるいはマネージャの拡張モジュールなどからアクセスし、登録されているRTCを取得する仕組みを実装すること。
ファイル
操作
100%
説明
ネームサービスにコンポーネント内部から、あるいはマネージャの拡張モジュールなどからアクセスし、登録されているRTCを取得する仕組みを実装すること。
ファイル
test_Manager_Servant_new.py (4.93 KB) test_Manager_Servant_new.py | miyamoto, 2016/02/27 17:22 |
以下の指定方法でネーミングサービス上のRTCのオブジェクトリファレンスを取得する機能を実装した。
rtcname://localhost:2809/test.host_cxt/RTC0 rtcname://localhost/test.host_cxt/RTC0 rtcname://localhost/RTC0
また以下のように記述する事で途中のコンテキストを無視してインスタンス名だけで検索する事ができる。
rtcname://localhost:2809/*/RTC0
ホスト名を*と記述することでrtc.confのcorba.nameserversで指定したネーミングサービスから取得する。
rtcname://*/test.host_cxt/RTC0
#3411の機能と同じく、NamingManagerのstring_to_component関数で取得できる。
この機能の実装のために、NamingOnCorbaクラスにstring_to_component関数を追加した。
添付のコードでテストを行った。
まず別プロセスで起動したRTCのオブジェクトリファレンスを取得できるかを確認した。
rtcname://localhost/test.host_cxt/TestComp20
次にホスト名を省略してRTCのオブジェクトリファレンスを取得できるかを確認した。
rtcname://*/test.host_cxt/TestComp20
そして途中のコンテキスト名を省略してRTCのオブジェクトリファレンスを取得できるかを確認した。
rtcname://*/*/TestComp20