操作
バグ #2181
完了SDOPackage.idlをいろいろなidlコンパイラでコンパイルできるように修正する
開始日:
2011/07/02
期日:
進捗率:
100%
予定工数:
説明
SDOPackage.idlをいろいろなidlコンパイラでコンパイルできるように修正する
現状C++のIDLはJavaではコンパイルできない。
- Preparation
Since SDOPackage.idl(usually installed under /usr/include/rtm/idl as a part
of OpenRTM-aist) can't be compiled with idlj, modify the following two lines.
- comment out line 40:
#define TypeCode CORBA::TypeCode -> //#define TypeCode CORBA::TypeCode - add namespace "CORBA::" to line 123:
TypeCode code; -> CORBA::TypeCode code;
n-ando さんが12年以上前に更新
- 進捗率 を 0 から 100 に変更
ORBitやRtORBのIDLコンパイラでは ORBIT_IDL がdefineされているのでこれを利用し以下のように書き換えた。
Index: src/lib/rtm/idl/SDOPackage.idl =================================================================== --- src/lib/rtm/idl/SDOPackage.idl (revision 2347) +++ src/lib/rtm/idl/SDOPackage.idl (working copy) @@ -36,9 +36,7 @@ #ifdef USE_MONITORING #include <CosNotifyComm.idl> #endif -#ifndef ORBIT2_IDL -#define TypeCode CORBA::TypeCode -#endif + /** CORBA specific model for SDOs */ #pragma prefix "org.omg" @@ -52,7 +50,7 @@ interface Configuration; interface Monitoring; interface Organization; - + /** ------- Data Types -------*/ typedef sequence<string> StringList; typedef sequence<SDO> SDOList; @@ -120,10 +118,10 @@ struct Parameter { string name; -#ifndef ORBIT2_IDL - TypeCode type; +#ifdef __ORBIT_IDL__ + TypeCode type; #else - TypeCode type; + CORBA::TypeCode type; #endif AllowedValues allowed_values; }; @@ -173,7 +171,7 @@ exception InterfaceNotImplemented exception_body; exception InvalidParameter exception_body; exception InternalError exception_body; - + /** ------- Interfaces -------*/ interface SDOSystemElement { @@ -261,7 +259,7 @@ #endif interface SDOService {}; - + interface Organization { UniqueIdentifier get_organization_id ()
操作