操作
バグ #1523
完了[Python] サービスプロバイダーポートを持つRTCでのサーバントのインスタンス化処理の問題
開始日:
2010/05/24
期日:
進捗率:
100%
予定工数:
説明
サービスプロバイダーポートを持つRTCのサーバントのインスタンス化処理で、<module>名.<Interface名>_i() のようにIDLで定義されたモジュール名付きでインスタンス化されているため、RTCの生成に失敗する。 (使用したRTCBのリビジョン: r120 )
以下のようなIDLファイルの場合、
module SimpleService { typedef sequence<string> EchoList; typedef sequence<float> ValueList; interface MyService { string echo(in string msg); EchoList get_echo_history(); void set_value(in float value); float get_value(); ValueList get_value_history(); }; };
コンストラクタでのサービスポートのサーバントのインスタンス化処理で、下記のようなコードとなっている。
self._prov_val = SimpleService.MyService_i()
MyService_iクラスは、SimpleService.MyService(IDLで定義したインターフェース)の実装クラスであるため、
SimpleServiceは必要なく、下記のようにしてインスタンス化を行う。
from MyService_idl_example import * self._prov_val = MyService_i()
操作