バグ #2181
完了
SDOPackage.idlをいろいろなidlコンパイラでコンパイルできるように修正する
n-ando さんが13年以上前に追加.
12年以上前に更新.
説明
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;
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 ()
他の形式にエクスポート: Atom
PDF