The following code fragment shows the syntax and definition of the available types within the CORBA module:
typedef sequence<octet, 1024> ReferenceData; typedef string ScopedName; typedef string RepositoryId; typedef string Identifier; typedef string VersionSpec; typedef sequence<InterfaceDef> InterfaceDefSeq; typedef sequence<Contained> ContainedSeq; typedef sequence<StructMember> StructMemberSeq; typedef sequence<UnionMember> UnionMemberSeq; typedef sequence<Identifier> EnumMemberSeq; typedef sequence<ParameterDescription> ParDescriptionSeq; typedef Identifier ContextIdentifier; typedef sequence<ContextIdentifier> ContextIdSeq; typedef sequence<ExceptionDef> ExceptionDefSeq; typedef sequence<ExceptionDescription> ExcDescriptionSeq; typedef sequence<RepositoryId> RepositoryIdSeq; typedef sequence<OperationDescription> OpDescriptionSeq; typedef sequence<AttributeDescription> AttrDescriptionSeq; struct StructMember { Identifier name; TypeCode type; IDLType type_def; }; struct UnionMember { Identifier name; any label; TypeCode type; IDLType type_def; }; struct ModuleDescription { Identifier name; RepositoryId id; RepositoryId defined_in; VersionSpec version; }; struct ConstantDescription { Identifier name; RepositoryId id; RepositoryId defined_in; VersionSpec version; TypeCode type; any value; }; struct TypeDescription { Identifier name; RepositoryId id; RepositoryId defined_in; VersionSpec version; TypeCode type; }; struct ExceptionDescription { Identifier name; RepositoryId id; RepositoryId defined_in; VersionSpec version; TypeCode type; }; struct AttributeDescription { Identifier name; RepositoryId id; RepositoryId defined_in; VersionSpec version; TypeCode type; AttributeMode mode; }; struct ParameterDescription { Identifier name; TypeCode type; IDLType type_def; ParameterMode mode; }; struct OperationDescription { Identifier name; RepositoryId id; RepositoryId defined_in; VersionSpec version; TypeCode result; OperationMode mode; ContextIdSeq contexts; ParDescriptionSeq parameters; ExcDescriptionSeq exceptions; }; struct InterfaceDescription { Identifier name; RepositoryId id; RepositoryId defined_in; VersionSpec version; RepositoryIdSeq base_interfaces; }; enum TCKind { tk_null, tk_void, tk_short, tk_long, tk_ushort, tk_ulong, tk_float, tk_double, tk_boolean, tk_char, tk_octet, tk_any, tk_TypeCode, tk_Principal, tk_objref, tk_struct, tk_union, tk_enum, tk_string, tk_sequence, tk_array, tk_alias, tk_except, tk_longlong, tk_ulonglong, tk_wchar, tk_wstring, tk_fixed }; 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 }; 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}; enum OperationMode {OP_NORMAL, OP_ONEWAY}; enum ParameterMode {PARAM_IN, PARAM_OUT, PARAM_INOUT};