バグ #4220
未完了RTC Builderを用いて自作IDLに定義したサービスポートを持つRTCのコードを生成した際の不具合
100%
説明
penRTM-MLの皆様
名城大学の大原です.
(MLに投稿されているメールは追っているつもりですが,既報でしたら申し訳ございません.)
IDLファイルに自身でインタフェースを定義し,その作成したIDLファイルを用いて,
RTC Builderからひな形の出力を行っているのですが,出力されるコードに
おかしい部分が確認されたため,質問を含めて投稿しました.
環境はOpenRTM-aist-1.1.2,OpenRTP-1.1.2(全部入りを利用)
現象の確認はWindows7(VS2013)とUbuntu14.04/16.04の双方で行っております.
前提として,RTC Builderにおいて,自作したIDLファイルの保存されたフォルダへのパスは通しております.
(【例】/home/<UserName>/workspace/IDL)
その上で,新規にRTCのひな形を作成.このとき,サービスポートに,自身で作成したIDLファイルに記載した
インタフェースを利用するように設定し,コードを生成いたしました.
(プロバイダとして生成しています.)
このとき,サービスポート用のコードとして,<MobuleName>SVC_impl.hのようなファイルが生成されますが,
この中で,
クラス名が,<Module名>_<Interface名>SVC_implとなっている一方で,
コンストラクタが<Interface名>SVC_impl()となっており,このままではコンパイルが通らない状態の
コードが生成されます.
一方で,デストラクタについては,~<Module名>_<Interface名>SVC_impl()となっております.
前述のように複数の動作環境で試しましたが,同様の状況です.
(とりあえず...と思い,共通インタフェースとして提案させていただいているImg.idlというIDLファイルでテストしました.)
当然ですが,コンストラクタをクラス名と同じように修正すれば,コンパイルは通ります.
不具合かと思い,ご連絡させていただきましたが,当方のミスでしたら申し訳ございません.
また,以前は,素直に<Interface名>SVC_implという名前のクラスだった様な気もするのですが,
いつこちらの仕様が変わったのかについてもお教えいただけると幸いです.
(WebCameraのRTCを公開していて,同時期に公開したものは上記のようなクラスの命名になっていたので.)
長文で申し訳ございませんが,どうぞよろしくお願いいたします.