[openrtm-users 03442] RTC Builderを用いて自作IDLに定義したサービスポートを持つRTCのコードを生成した際の不具合について

Kenichi Ohara kohara @ meijo-u.ac.jp
2017年 10月 12日 (木) 00:59:22 JST


OpenRTM-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を公開していて,同時期に公開したものは上記のようなクラスの命名になっていたので.)

長文で申し訳ございませんが,どうぞよろしくお願いいたします.

============================================
名城大学理工学部メカトロニクス工学科
ロボットシステムデザイン研究室 准教授 
大阪大学大学院基礎工学研究科 招聘准教授
大原 賢一 博士(工学)

〒468-8502
名古屋市天白区塩釜口1-501 12号館207号室
TEL:    	052-838-2335 (内線:2459)
FAX:	052-832-1235
HP: http://www2.meijo-u.ac.jp/~kohara/cms/
E-mail:  kohara @ meijo-u.ac.jp
============================================



More information about the openrtm-users mailing list