OpenDDS  Snapshot(2023/04/28-20:55)
TypeObject.idl
Go to the documentation of this file.
1 /*
2  * Distributed under the OpenDDS License.
3  * See: http://www.opendds.org/license.html
4  */
5 
6 #ifndef OPENDDS_DCPS_XTYPES_TYPEOBJECT_IDL
7 #define OPENDDS_DCPS_XTYPES_TYPEOBJECT_IDL
8 
9 module OpenDDS {
10  module XTypes {
11  typedef short EquivalenceKind;
12  typedef short TypeKind;
13 
14  @nested
15  @final
16  @OpenDDS::internal::no_dynamic_data_adapter
17  union TypeIdentifier switch (TypeKind) {
18  // =================== Future extensibility ============
19  // Future extensions
20  default:
21  char dummy;
22  };
23 
24  @OpenDDS::internal::no_dynamic_data_adapter
25  typedef sequence<TypeIdentifier> TypeIdentifierSeq;
26 
27  @OpenDDS::internal::no_dynamic_data_adapter
28  struct TypeIdentifierPair {
29  TypeIdentifier type_identifier1;
30  TypeIdentifier type_identifier2;
31  };
32 
33  @OpenDDS::internal::no_dynamic_data_adapter
34  typedef sequence<TypeIdentifierPair> TypeIdentifierPairSeq;
35 
36  @nested
37  @appendable
38  @OpenDDS::internal::no_dynamic_data_adapter
39  union TypeObject switch (EquivalenceKind) {
40  default:
41  char dummy;
42  };
43 
44  @OpenDDS::internal::no_dynamic_data_adapter
46  TypeIdentifier type_identifier;
47  TypeObject type_object;
48  };
49 
50  @OpenDDS::internal::no_dynamic_data_adapter
51  typedef sequence<TypeIdentifierTypeObjectPair> TypeIdentifierTypeObjectPairSeq;
52 
53  @OpenDDS::internal::no_dynamic_data_adapter
54  struct TypeIdentifierWithSize {
55  TypeIdentifier type_id;
57  };
58 
59  @OpenDDS::internal::no_dynamic_data_adapter
60  typedef sequence<TypeIdentifierWithSize> TypeIdentifierWithSizeSeq;
61  }; // namespace XTypes
62 }; // namespace OpenDDS
63 
64 #endif /* OPENDDS_DCPS_XTYPES_TYPEOBJECT_IDL */
Sequence< TypeIdentifierTypeObjectPair > TypeIdentifierTypeObjectPairSeq
Definition: TypeObject.h:3306
ACE_CDR::Octet TypeKind
Definition: TypeObject.h:210
Sequence< TypeIdentifier > TypeIdentifierSeq
Definition: TypeObject.h:830
ACE_CDR::Octet EquivalenceKind
Definition: TypeObject.h:204
Sequence< TypeIdentifierWithSize > TypeIdentifierWithSizeSeq
Definition: TypeObject.h:3354
The Internal API and Implementation of OpenDDS.
Definition: AddressCache.h:28
Sequence< TypeIdentifierPair > TypeIdentifierPairSeq
Definition: TypeObject.h:3329