RTI Connext Micro  Version 2.4.4.0
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
dds_c_topic.h
Go to the documentation of this file.
1 /*
2  * FILE: dds_c_topic.h - DDS topic module
3  *
4  * (c) Copyright, Real-Time Innovations, 2008-2015.
5  *
6  * All rights reserved.
7  *
8  * No duplications, whole or partial, manual or electronic, may be made
9  * without express written permission. Any such copies, or
10  * revisions thereof, must display this notice unaltered.
11  * This code contains trade secrets of Real-Time Innovations, Inc.
12  *
13  * Modification History
14  * --------------------
15  * 20sep2014,as Explicitly define public support functions for Status types
16  * 07may2014,as MICRO-784 Expose get_X_status API in C++
17  * 19jul2013,as Added support for C++
18  * 30apr2008 Created
19  */
20 /*ce
21  * \file
22  * \brief DDS topic module
23  * @addtogroup DDSDomainModule
24  * @ingroup DDSCModule
25  */
26 #ifndef dds_c_topic_h
27 #define dds_c_topic_h
28 
29 #ifndef dds_c_dll_h
30 #include "dds_c/dds_c_dll.h"
31 #endif
32 #ifndef dds_c_common_h
33 #include "dds_c/dds_c_common.h"
34 #endif
35 #ifndef dds_c_sequence_h
36 #include "dds_c/dds_c_sequence.h"
37 #endif
38 #ifndef dds_c_infrastructure_h
40 #endif
41 
42 /* ================================================================= */
43 /* Basic Types */
44 /* ================================================================= */
45 
46 /*e \dref_InstanceId_t
47  */
49 
50 
51 /* ================================================================= */
52 /* Status */
53 /* ================================================================= */
54 
55 /*e \dref_InconsistentTopicStatus
56  */
57 struct DDSCPPDllExport DDS_InconsistentTopicStatus
58 {
59  /*i \dref_InconsistentTopicStatus_total_count
60  */
61  DDS_Long total_count;
62 
63  /*i \dref_InconsistentTopicStatus_total_count_change
64  */
65  DDS_Long total_count_change;
66 
67  DDSC_CPP_SUPPORT_METHODS_BASIC(DDS_InconsistentTopicStatus)
68 };
69 
70 #ifdef __cplusplus
71 extern "C"
72 {
73 #endif
74 
75 /*ci \dref_InconsistentTopicStatus_initialize
76  */
77 DDSCDllExport DDS_ReturnCode_t
78 DDS_InconsistentTopicStatus_initialize(
79  struct DDS_InconsistentTopicStatus *self);
80 
81 /*ce \dref_InconsistentTopicStatus_INITIALIZER
82  */
83 #define DDS_InconsistentTopicStatus_INITIALIZER { 0L, 0L }
84 
85 /*ci \dref_InconsistentTopicStatus_reset
86  */
87 DDSCDllExport void
88 DDS_InconsistentTopicStatus_reset(struct DDS_InconsistentTopicStatus *s);
89 
90 #ifdef __cplusplus
91 } /* extern "C" */
92 #endif
93 
94 /* ================================================================= */
95 /* QoS */
96 /* ================================================================= */
97 
98 /*e \dref_TopicQos
99  */
100 struct DDSCPPDllExport DDS_TopicQos
101 {
102  /*i \dref_TopicQos_management
103  */
104  struct RTI_ManagementQosPolicy management;
105 
106  DDSC_CPP_SUPPORT_METHODS_EXTENDED(DDS_TopicQos)
107 };
108 
109 #ifdef __cplusplus
110 extern "C" {
111 #endif
112 
113 /* #if INCLUDE_API_QOS */
114 /*ce \dref_TopicQos_initialize
115  */
116 DDSCDllExport DDS_ReturnCode_t
118 
119 /* #if INCLUDE_API_QOS */
120 /*ce \dref_TopicQos_copy
121  */
122 DDSCDllExport DDS_ReturnCode_t
123 DDS_TopicQos_copy(struct DDS_TopicQos *self,
124  const struct DDS_TopicQos *source);
125 
126 #ifndef RTI_CERT
127 /*ce \dref_TopicQos_finalize
128  */
129 DDSCDllExport DDS_ReturnCode_t
130 DDS_TopicQos_finalize(struct DDS_TopicQos *self);
131 #endif /* !RTI_CERT */
132 
133 /*ce \dref_TopicQos_is_equal
134  */
135 DDSCDllExport DDS_Boolean
136 DDS_TopicQos_is_equal(const struct DDS_TopicQos *left,
137  const struct DDS_TopicQos *right);
138 
139 /*ce \dref_TopicQos_INITIALIZER
140  */
141 #define DDS_TopicQos_INITIALIZER { \
142  RTI_MANAGEMENT_QOS_POLICY_DEFAULT \
143 }
144 
145 /* ================================================================= */
146 /* DDS_TopicDescription */
147 /* ================================================================= */
148 
149 /*ce \dref_TopicDescription
150  */
151 typedef struct DDS_TopicDescriptionImpl DDS_TopicDescription;
152 
153 /*ce \dref_TopicDescription_get_type_name
154  */
155 DDSCDllExport const char*
157 
158 /*ce \dref_TopicDescription_get_name
159  */
160 DDSCDllExport const char*
162 
163 /*ce \dref_TopicDescription_get_participant
164  */
165 DDSCDllExport DDS_DomainParticipant*
167 
168 /*ce \dref_Topic
169  */
170 typedef struct DDS_TopicImpl DDS_Topic;
171 
172 /* ================================================================= */
173 /* Listeners */
174 /* ================================================================= */
175 
176 /*ce \dref_TopicListener_InconsistentTopicCallback
177  */
178 typedef void
180  void *listener_data,
181  DDS_Topic *topic,
182  const struct DDS_InconsistentTopicStatus *status);
183 
184 /*ce \dref_TopicListener
185  */
187 {
188  /*ce \dref_TopicListener_as_listener
189  */
191 
192  /*ce \dref_TopicListener_on_inconsistent_topic
193  */
195 };
196 
197 /*ce \dref_TopicListener_INITIALIZER
198  */
199 #define DDS_TopicListener_INITIALIZER \
200 { DDS_Listener_INITIALIZER, (DDS_TopicListener_InconsistentTopicCallback)NULL}
201 
202 /* ================================================================= */
203 /* Topic */
204 /* ================================================================= */
205 /*ce \dref_Topic_as_entity
206  */
207 DDSCDllExport DDS_Entity*
209 
210 /*ce \dref_Topic_as_topicdescription
211  */
212 DDSCDllExport DDS_TopicDescription*
214 
215 /*ce \dref_Topic_narrow
216  */
217 DDSCDllExport DDS_Topic*
219 
220 /*ce \dref_Topic_get_inconsistent_topic_status
221 */
222 DDSCDllExport DDS_ReturnCode_t
224  DDS_Topic *self,
225  struct DDS_InconsistentTopicStatus *status);
226 
227 /* #if INCLUDE_API_QOS */
228 /*ce \dref_Topic_set_qos
229  */
230 DDSCDllExport DDS_ReturnCode_t
232  DDS_Topic *self,
233  const struct DDS_TopicQos *qos);
234 
235 /* #if INCLUDE_API_QOS */
236 /*ce \dref_Topic_get_qos
237  */
238 DDSCDllExport DDS_ReturnCode_t
239 DDS_Topic_get_qos(DDS_Topic * self,struct DDS_TopicQos *qos);
240 
241 
242 /*i \dref_Topic_get_qos_ref
243  */
244 DDSCDllExport const struct DDS_TopicQos*
245 DDS_Topic_get_qos_ref(DDS_Topic * self);
246 
247 #ifndef RTI_CERT
248 /*ce \dref_Topic_set_listener
249  */
250 DDSCDllExport DDS_ReturnCode_t
252  DDS_Topic *self,
253  const struct DDS_TopicListener *l,
254  DDS_StatusMask mask);
255 #endif
256 
257 #ifndef RTI_CERT
258 /*ce \dref_Topic_get_listener
259  */
260 DDSCDllExport struct DDS_TopicListener
262 #endif
263 
264 /* ----------------------------------------------------------------- */
265 
266 #ifdef __cplusplus
267 } /* extern "C" */
268 #endif
269 
270 
271 #endif /* dds_c_topic_h */

RTI Connext Micro Version 2.4.4.0 Copyright © Thu Apr 30 2015 Real-Time Innovations, Inc