操作
バグ #2941
未完了IDLファイルの中でRTCモジュールを使用した場合、生成されるコードに余計なモジュール名が付加される
ステータス:
新規
優先度:
通常
担当者:
-
対象バージョン:
-
開始日:
2013/12/24
期日:
進捗率:
0%
予定工数:
説明
- 具体例・・・以下のIDLを定義した場合、CalibrationServiceSVC_impl.cpp, CalibrationServiceSVC_impl.h ファイルの修正が必要となる
#ifndef CALIBRATION_SERVICE_IDL #define CALIBRATION_SERVICE_IDL #include "InterfaceDataTypes.idl" module ImageCalibService { interface CalibrationService { RTC::CameraInfo getCalibParameter(); }; }; #endif /* CALIBRATION_SERVICE_IDL */
- CalibrationServiceSVC_impl.hの修正箇所
ImageCalibService::RTC::CameraInfo get_CalibParameter(); ↓ RTC::CameraInfo get_CalibParameter();
- CalibrationServiceSVC_impl.cppの修正箇所
ImageCalibService::RTC::CameraInfo CalibrationServiceSVC_impl::get_CalibParameter() ↓ RTC::CameraInfo CalibrationServiceSVC_impl::get_CalibParameter()
n.kawauchi さんが約11年前に更新
- 関連して、IDLファイルでsequence型のメンバー変数を持つ構造体のデータ型の関数を定義した場合、RTCビルダーが自動生成するコードに不備がある
- 具体例 ・・・ 次のIDLを使用
#ifndef CALIBRATION_SERVICE_IDL #define CALIBRATION_SERVICE_IDL #include "InterfaceDataTypes.idl" module ImageCalibService { typedef sequence<RTC::CameraImage> ImageList; interface CalibrationService { RTC::CameraImage captureCalibImage(in short num); }; }; #endif /* CALIBRATION_SERVICE_IDL */
- CalibrationService.hh ではポインタ型で宣言されている(CameraImage型にsequence型メンバーが含まれている)
virtual RTC::CameraImage* captureCalibImage(::CORBA::Short num) = 0;
- CalibrationServiceSVC_impl(cpp,h)の方はポインタ型になっていないので、修正が必要
RTC::CameraImage CalibrationServiceSVC_impl::captureCalibImage(CORBA::Short num) ↓ RTC::CameraImage* CalibrationServiceSVC_impl::captureCalibImage(CORBA::Short num)
操作