OpenDDS  Snapshot(2023/04/28-20:55)
DdsDcpsTypeSupportExt.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_DDSDCPSTYPESUPPORTEXT_IDL
7 #define OPENDDS_DDSDCPSTYPESUPPORTEXT_IDL
8 
9 #include <dds/DdsDcpsTopic.idl>
12 
13 module OpenDDS {
14  module DCPS {
15 
16  /**
17  * The generated type-specific FooTypeSupport interfaces include encode_to_* and
18  * decode_from_* operations that take an argument of type RepresentationFormat.
19  * Use one of the derived interfaces of RepresentationFormat to specify the external
20  * format type (JSON, CDR, etc.) and any details of the type conversion.
21  */
22  local interface RepresentationFormat {
23  };
24 
25  /**
26  * Create an instance by passing *CDR_DATA_REPRESENTATION to TypeSupport::make_format().
27  */
29  };
30 
31  /**
32  * Create an instance by passing JSON_DATA_REPRESENTATION to TypeSupport::make_format().
33  */
35  };
36 
37  local interface TypeSupport : ::DDS::TypeSupport {
38 
39  /**
40  * create and activate a FooDataWriter.
41  * Implemented by FooTypeSupportImpl.
42  * Publisher::create_datawriter() will set the topic, listener, qos and
43  * other initialization so the implementation of this method
44  * is as small and simple as possible.
45  */
46  ::DDS::DataWriter create_datawriter();
47 
48  /**
49  * create and activate a FooDataReader.
50  * Implemented by FooTypeSupportImpl.
51  * Subscriber::create_datareader() will set the topic, listener, qos and
52  * other initialization so the implementation of this method
53  * is as small and simple as possible.
54  */
55  ::DDS::DataReader create_datareader();
56 
57  #ifndef OPENDDS_NO_MULTI_TOPIC
58  ::DDS::DataReader create_multitopic_datareader();
59  #endif
60 
61  boolean has_dcps_key();
62 
63  ::DDS::ReturnCode_t unregister_type(
64  in ::DDS::DomainParticipant domain,
65  in string type_name);
66 
67  /// Get allowed representations defined by IDL annotations
68  void representations_allowed_by_type(
70 
71  RepresentationFormat make_format(in ::DDS::DataRepresentationId_t representation);
72  };
73  };
74 };
75 
76 #endif /* OPENDDS_DCPS_TYPE_SUPPORT_IDL */
sequence< DataRepresentationId_t > DataRepresentationIdSeq
short DataRepresentationId_t
The Internal API and Implementation of OpenDDS.
Definition: AddressCache.h:28