形式
class CORBA { typedef CORBA::String_var Identifier; /* 識別名 */ typedef CORBA::String_var ScopedName; /* スコープ名 */ typedef CORBA::String_var RepositoryId; /* グローバル名 */ enum DefinitionKind { /* オブジェクト種別 */ dk_none, dk _all, dk_Attribute, dk_Constant, dk_Exception, dk_Interface, dk_Module, dk_Operation, dk_Typedef, dk_Alias, dk_Struct, dk_Union, dk_Enum, dk_Primitive, dk_String, dk_Sequence, dk_Array, dk_Repository, dk_Wstring } ;
typedef CORBA::Stringvar VersionSpec; /* バージョン情報 */ typedef CORBA::Object_ptr IRObject; /* IRObjectのオブジェクトリファレンス */ typedef CORBA::Object_ptr Contained; /* Contained オブジェクトリファレンス */ typedef CORBA::Object_ptr Container; /* Container オブジェクトリファレンス */ typedef CORBA::Object_ptr IDLType; /* IDLType オブジェクトリファレンス */ typedef CORBA::Object_ptr Repository; /* Repositoryオブジェクトリファレンス */ typedef CORBA::Object_ptr ModuleDef; /* ModuleDef オブジェクトリファレンス */ typedef CORBA::Object_ptr ConstantDef; /* ConstantDef オブジェクトリファレンス */ typedef CORBA::Object_ptr TypedefDef; /* TypedefDefオブジェクトリファレンス */ typedef CORBA::Object_ptr StructDef; /* StructDef オブジェクトリファレンス */ typedef CORBA::Object_ptr UnionDef; /* UnionDefオブジェクトリファレンス */ typedef CORBA::Object_ptr EnumDef; /* EnumDef オブジェクトリファレンス */ typedef CORBA::Object_ptr AliasDef; /* AliasDefオブジェクトリファレンス */ typedef CORBA::Object_ptr PrimitiveDef; /* PrimitiveDefオブジェクトリファレンス */ typedef CORBA::Object_ptr StringDef; /* StringDef オブジェクトリファレンス */ typedef CORBA::Object_ptr SequenceDef; /* SequenceDef オブジェクトリファレンス */ typedef CORBA::Object_ptr ArrayDef; /* ArrayDefオブジェクトリファレンス */ typedef CORBA::Object_ptr ExceptionDef; /* ExceptionDefオブジェクトリファレンス */ typedef CORBA::Object_ptr AttributeDef; /* AttributeDefオブジェクトリファレンス */ typedef CORBA::Object_ptr OperationDef; /* OperationDefオブジェクトリファレンス */ typedef CORBA::Object_ptr InterfaceDef; /* InterfaceDefオブジェクトリファレンス */ typedef CORBA::Object_ptr WstringDef; /* WstringDefオブジェクトリファレンス */ typedef struct { /* オブジェクト情報構造体 */ CORBA::DefinitionKind kind; /* オブジェクト種別 */ CORBA::Any value; /* オブジェクト別情報 */ } Description; typedef struct { ULong _maximum; ULong _length; CORBA::Description *_buffer; } DescriptionSeq; /* Description 構造体のsequence */
class ContainedSeq { public: ContainedSeq(); ContainedSeq( ULong max ); ContainedSeq( ULong max, ULong length, CORBA::Contained_ptr *value, Boolean release = FALSE ); ~ContainedSeq(); private: ULong _maximum; ULong _length; CORBA::Contained_ptr *_buffer; }; /* Contained オブジェクトリファレンスのsequence */
typedef struct { /* 構造体メンバ構造体 */ CORBA::Identifer name; /* 識別名 */ CORBA::TypeCode_ptr type; /* タイプコード */ CORBA::IDLType_ptr type_def; /* メンバのオブジェクトリファレンス */ } StructMember; class StructMemberSeq { public: StructMemberSeq(); StructMemberSeq( ULong max ); StructMemberSeq( ULong max, ULong length, CORBA::StructMember *value, Boolean release = FALSE ); ~StructMemberSeq(); private: ULong _maximum; ULong _length; CORBA::StructMember *_buffer; }; /* 構造体メンバ構造体のsequence */
typedef struct { /* union メンバ構造体 */ CORBA::Identifer name; /* 識別名 */ CORBA::Any label; /* 弁別値 */ CORBA::TypeCode_ptr type; /* タイプコード */ CORBA::IDLType_ptr type_def; /* メンバのオブジェクトリファレンス */ } UnionMember; class UnionMemberSeq { public: UnionMemberSeq(); UnionMemberSeq( ULong max ); UnionMemberSeq( ULong max, ULong length, CORBA::UnionMember *value, Boolean release = FALSE ); ~UnionMemberSeq(); private: ULong _maximum; ULong _length; CORBA::UnionMember *_buffer; }; /* unionメンバ構造体のsequence */
class EnumMemberSeq { public: EnumMemberSeq(); EnumMemberSeq( ULong max ); EnumMemberSeq( ULong max, ULong length, CORBA::Identifier *value, Boolean release = FALSE ); ~EnumMemberSeq(); private: ULong _maximum; ULong _length; CORBA::Identifier *_buffer; } ; /* Enum メンバのsequence */ enum PrimitiveKind { pk_null, pk_void, pk_short, pk_long, pk_ushort, pk_ulong, pk_float, pk_double, pk_boolean, pk_char, pk_octet, pk_any, pk_TypeCode, pk_Principal, pk_string, pk_objref, pk_longlong, pk_ulonglong, pk_longdouble, pk_wchar, pk_wstring }; enum AttributeMode { ATTR_NORMAL, ATTR _READONLY } ; /* Atributeの属性種別 */
typedef struct { /* AttributeDef情報構造体 */ CORBA::Identifer name; /* 識別名 */ CORBA::RepositoryId id; /* グローバル名 */ CORBA::RepositoryId defined_in; /* 親オブジェクトのグローバル名 */ CORBA::VersionSpec version; /* バージョン情報 */ CORBA::TypeCode_ptr type; /* タイプコード */ CORBA::AttributeMode mode; /* 属性 */ } AttributeDescription; enum OperationMode { OP_NORMAL, OP_ONEWAY }; /* Operationの属性種別 */ enum ParameterMode { PARAM_IN, PARAM_OUT, PARAM_INOUT}; /* Parameter の属性種別 */ typedef struct { /* パラメタ情報構造体 */ CORBA::Identifer name; /* 識別名 */ CORBA::TypeCode_ptr type; /* タイプコード */ CORBA::ParameterMode mode; /* 属性 */ } ParameterDescription; class ParDescriptionSeq { public: ParDescriptionSeq(); ParDescriptionSeq( ULong max ); ParDescriptionSeq( ULong max, ULong length, CORBA::ParameterDescription *value, Boolean release = FALSE ); ~ParDescriptionSeq(); private: ULong _maximum; ULong _length; CORBA::ParameterDescription *_buffer; }; /* パラメタ情報構造体のsequence */
typedef CORBA::String_var ContextIdentifier; class ContextIdSeq { public: ContextIdSeq(); ContextIdSeq( ULong max ); ContextIdSeq( ULong max, ULong length, CORBA::ContextIdentifier *value, Boolean release = FALSE ); ~ContextIdSeq(); private: ULong _maximum; ULong _length; CORBA::ContextIdentifier *_buffer; }; /* ContextIdentifierのsequence */
class ExceptionDefSeq { public: ExceptionDefSeq(); ExceptionDefSeq( ULong max ); ExceptionDefSeq( ULong max, ULong length, CORBA::ExceptionDef_ptr *value, Boolean release = FALSE ); ~ExceptionDefSeq(); private: ULong _maximum; ULong _length; CORBA::ExceptionDef_ptr *_buffer; }; /* ExceptionDefオブジェクトリファレンスのsequence */ class ExcDescriptionSeq { public: ExcDescriptionSeq(); ExcDescriptionSeq( ULong max ); ExcDescriptionSeq( ULong max, ULong length, CORBA::ExceptionDescription *value, Boolean release = FALSE ); ~ExcDescriptionSeq(); private: ULong _maximum; ULong _length; CORBA::ExceptionDescription *_buffer; }; /* ExceptionDef情報構造体のsequence */
typedef struct { /* ExceptionDef情報構造体 */ CORBA::Identifer name; /* 識別名 */ CORBA::RepositoryId id; /* グローバル名 */ CORBA::RepositoryId defined_in; /* 親オブジェクトのグローバル名 */ CORBA::VersionSpec version; /* バージョン情報 */ CORBA::TypeCode_ptr type; /* タイプコード */ CORBA::OperationMode mode; /* 属性 */ CORBA::ContextIdSeq contexts; /* コンテキスト */ CORBA::ParDescriptionSeq parameters; /* パラメタ情報 */ CORBA::ExcDescriptionSeq exceptions; /* 例外情報 */ } OperationDescription; class OpDescriptionSeq { public: OpDescriptionSeq(); OpDescriptionSeq( ULong max ); OpDescriptionSeq( ULong max, ULong length, CORBA::OperationDescription *value, Boolean release = FALSE ); ~OpDescriptionSeq(); private: ULong _maximum; ULong _length; CORBA::OperationDescription *_buffer; }; /* OperationDef情報構造体のsequence */
class AttrDescriptionSeq { public: AttrDescriptionSeq(); AttrDescriptionSeq( ULong max ); AttrDescriptionSeq( ULong max, ULong length, CORBA::AttributeDescription *value, Boolean release = FALSE ); ~AttrDescriptionSeq(); private: ULong _maximum; ULong _length; CORBA::AttributeDescription *_buffer; }; typedef struct { CORBA_long _maximum; CORBA_long _length; CORBA_Description *_buffer; } CORBA_AttrDescriptionSeq; /* AttributeDef情報 構造体のsequence */ typedef struct { /* インタフェース情報構造体 */ CORBA::Identifer name; /* 識別名 */ CORBA::RepositoryId id; /* グローバル名 */ CORBA::RepositoryId defined_in; /* 親オブジェクトのグローバル名 */ CORBA::VersionSpec version; /* バージョン情報 */ CORBA::OpDescriptionSeq operations; /* オペレーション情報 */ CORBA::AttrDescriptionSeq attributes; /* アトリビュート情報 */ CORBA::RepositoryIdSeq base_interfaces; /* 継承情報 */ CORBA::TypeCode_ptr type; /* タイプコード */ } FullInterfaceDescription;