バグ #2941
IDLファイルの中でRTCモジュールを使用した場合、生成されるコードに余計なモジュール名が付加される
Status:
新規
Priority:
通常
Assignee:
-
Target version:
-
Start date:
12/24/2013
Due date:
% Done:
0%
Estimated time:
Description
- 具体例・・・以下の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()
History
#1 Updated by n.kawauchi about 7 years ago
- 関連して、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)