RTI Connext Micro  Version 2.4.1.0
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
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-2014.
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  */
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 #define DDS_InconsistentTopicStatus_reset(_s) \
88 {\
89  (_s)->total_count_change = 0;\
90 }
91 
92 #ifdef __cplusplus
93 } /* extern "C" */
94 #endif
95 
96 /* ================================================================= */
97 /* QoS */
98 /* ================================================================= */
99 
100 /*e \dref_TopicQos
101  */
103 {
104  /*i \dref_TopicQos_management
105  */
106  struct RTI_ManagementQosPolicy management;
107 
108  DDSC_CPP_SUPPORT_METHODS_EXTENDED(DDS_TopicQos)
109 };
110 
111 #ifdef __cplusplus
112 extern "C" {
113 #endif
114 
115 /* #if INCLUDE_API_QOS */
116 /*ce \dref_TopicQos_initialize
117  */
118 DDSCDllExport DDS_ReturnCode_t
120 
121 /* #if INCLUDE_API_QOS */
122 /*ce \dref_TopicQos_copy
123  */
124 DDSCDllExport DDS_ReturnCode_t
125 DDS_TopicQos_copy(struct DDS_TopicQos *self,
126  const struct DDS_TopicQos *source);
127 
128 /*ce \dref_TopicQos_finalize
129  */
130 DDSCDllExport DDS_ReturnCode_t
131 DDS_TopicQos_finalize(struct DDS_TopicQos *self);
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 /* #ifdef INCLUDE_API_LISTENER */
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 
256 /* #ifdef INCLUDE_API_LISTENER */
257 /*ce \dref_Topic_get_listener
258  */
259 DDSCDllExport struct DDS_TopicListener
261 
262 /* ----------------------------------------------------------------- */
263 
264 #ifdef __cplusplus
265 } /* extern "C" */
266 #endif
267 
268 
269 #endif /* dds_c_topic_h */

RTI Connext Micro Version 2.4.1.0 Copyright © Thu Nov 20 2014 Real-Time Innovations, Inc