操作
バグ #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()
操作