RTI Connext DDS Micro
Version 2.4.6
Main Page
Related Pages
Manuals
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
* 29jun2015,tk MICRO-1351/PR#15141 Removed prototypes for non-Cert function
16
* 20sep2014,as Explicitly define public support functions for Status types
17
* 07may2014,as MICRO-784 Expose get_X_status API in C++
18
* 19jul2013,as Added support for C++
19
* 30apr2008 Created
20
*/
21
/*ce
22
* \file
23
* \brief DDS topic module
24
* @addtogroup DDSDomainModule
25
* @ingroup DDSCModule
26
*/
27
#ifndef dds_c_topic_h
28
#define dds_c_topic_h
29
30
#ifndef dds_c_dll_h
31
#include "
dds_c/dds_c_dll.h
"
32
#endif
33
#include "
dds_c_config.h
"
34
#ifndef dds_c_common_h
35
#include "
dds_c/dds_c_common.h
"
36
#endif
37
#ifndef dds_c_sequence_h
38
#include "
dds_c/dds_c_sequence.h
"
39
#endif
40
#ifndef dds_c_infrastructure_h
41
#include "
dds_c/dds_c_infrastructure.h
"
42
#endif
43
44
/* ================================================================= */
45
/* Basic Types */
46
/* ================================================================= */
47
48
/*e \dref_InstanceId_t
49
*/
50
typedef
struct
DDS_BuiltinTopicKey_t
DDS_InstanceId_t
;
51
52
53
/* ================================================================= */
54
/* Status */
55
/* ================================================================= */
56
57
/*e \dref_InconsistentTopicStatus
58
*/
59
struct
DDSCPPDllExport
DDS_InconsistentTopicStatus
60
{
61
/*i \dref_InconsistentTopicStatus_total_count
62
*/
63
DDS_Long
total_count;
64
65
/*i \dref_InconsistentTopicStatus_total_count_change
66
*/
67
DDS_Long
total_count_change;
68
69
DDSC_CPP_SUPPORT_METHODS_BASIC(
DDS_InconsistentTopicStatus
)
70
};
71
72
#ifdef __cplusplus
73
extern
"C"
74
{
75
#endif
76
77
/*ci
78
* \brief Initialize a DDS_InconsistentTopicStatus structure
79
*
80
* \param[in] self DDS_InconsistentTopicStatus to initialize.
81
*
82
* \return DDS_RETCODE_OK on success, one of the standard error codes on
83
* failure
84
*/
85
DDSCDllExport
DDS_ReturnCode_t
86
DDS_InconsistentTopicStatus_initialize(
87
struct
DDS_InconsistentTopicStatus
*
self
);
88
89
/*ce \dref_InconsistentTopicStatus_INITIALIZER
90
*/
91
#define DDS_InconsistentTopicStatus_INITIALIZER { 0L, 0L }
92
93
/*ci
94
* \brief Reset the changed counters in DDS_InconsistentTopicStatus
95
*
96
* \param[in] s Structure to clear
97
*/
98
DDSCDllExport
void
99
DDS_InconsistentTopicStatus_reset(
struct
DDS_InconsistentTopicStatus
*s);
100
101
#ifdef __cplusplus
102
}
/* extern "C" */
103
#endif
104
105
/* ================================================================= */
106
/* QoS */
107
/* ================================================================= */
108
109
/*e \dref_TopicQos
110
*/
111
struct
DDSCPPDllExport
DDS_TopicQos
112
{
113
/*i \dref_TopicQos_management
114
*/
115
struct
RTI_ManagementQosPolicy management;
116
117
DDSC_CPP_SUPPORT_METHODS_EXTENDED(
DDS_TopicQos
)
118
};
119
120
#ifdef __cplusplus
121
extern
"C"
{
122
#endif
123
124
/*ce \dref_TopicQos_initialize
125
*/
126
DDSCDllExport
DDS_ReturnCode_t
127
DDS_TopicQos_initialize
(
struct
DDS_TopicQos
*
self
);
128
129
/* #if INCLUDE_API_QOS */
130
/*ce \dref_TopicQos_copy
131
*/
132
DDSCDllExport
DDS_ReturnCode_t
133
DDS_TopicQos_copy
(
struct
DDS_TopicQos
*
self
,
134
const
struct
DDS_TopicQos
*source);
135
136
#ifndef RTI_CERT
137
/*ce \dref_TopicQos_finalize
138
*/
139
DDSCDllExport
DDS_ReturnCode_t
140
DDS_TopicQos_finalize
(
struct
DDS_TopicQos
*
self
);
141
#endif
/* !RTI_CERT */
142
143
/*ci
144
* \brief Compare two DDS_TopicQos policies for equality
145
*
146
* \param[in] left The left side of the comparison
147
* \param[in] right The right side of the comparison
148
*
149
* \return DDS_BOOLEAN_TRUE if the structures are equal,
150
* DDS_BOOLEAN_FALSE otherwise
151
*/
152
DDSCDllExport
DDS_Boolean
153
DDS_TopicQos_is_equal(
const
struct
DDS_TopicQos
*left,
154
const
struct
DDS_TopicQos
*right);
155
156
/*ce \dref_TopicQos_INITIALIZER
157
*/
158
#define DDS_TopicQos_INITIALIZER { \
159
RTI_MANAGEMENT_QOS_POLICY_DEFAULT \
160
}
161
162
/* ================================================================= */
163
/* DDS_TopicDescription */
164
/* ================================================================= */
165
166
/*ce \dref_TopicDescription
167
*/
168
typedef
struct
DDS_TopicDescriptionImpl
DDS_TopicDescription
;
169
170
/*ce \dref_TopicDescription_get_type_name
171
*/
172
DDSCDllExport
const
char
*
173
DDS_TopicDescription_get_type_name
(
DDS_TopicDescription
*
self
);
174
175
/*ce \dref_TopicDescription_get_name
176
*/
177
DDSCDllExport
const
char
*
178
DDS_TopicDescription_get_name
(
DDS_TopicDescription
*
self
);
179
180
/*ce \dref_TopicDescription_get_participant
181
*/
182
DDSCDllExport
DDS_DomainParticipant
*
183
DDS_TopicDescription_get_participant
(
DDS_TopicDescription
*
self
);
184
185
/*ce \dref_Topic
186
*/
187
typedef
struct
DDS_TopicImpl
DDS_Topic
;
188
189
/* ================================================================= */
190
/* Listeners */
191
/* ================================================================= */
192
193
/*ce \dref_TopicListener_InconsistentTopicCallback
194
*/
195
typedef
void
196
(*
DDS_TopicListener_InconsistentTopicCallback
)(
197
void
*listener_data,
198
DDS_Topic
*topic,
199
const
struct
DDS_InconsistentTopicStatus
*status);
200
201
/*ce \dref_TopicListener
202
*/
203
struct
DDS_TopicListener
204
{
205
/*ce \dref_TopicListener_as_listener
206
*/
207
struct
DDS_Listener
as_listener
;
208
209
/*ce \dref_TopicListener_on_inconsistent_topic
210
*/
211
DDS_TopicListener_InconsistentTopicCallback
on_inconsistent_topic
;
212
};
213
214
/*ce \dref_TopicListener_INITIALIZER
215
*/
216
#define DDS_TopicListener_INITIALIZER \
217
{ DDS_Listener_INITIALIZER, (DDS_TopicListener_InconsistentTopicCallback)NULL}
218
219
/* ================================================================= */
220
/* Topic */
221
/* ================================================================= */
222
/*ce \dref_Topic_as_entity
223
*/
224
DDSCDllExport
DDS_Entity
*
225
DDS_Topic_as_entity
(
DDS_Topic
*
self
);
226
227
/*ce \dref_Topic_as_topicdescription
228
*/
229
DDSCDllExport
DDS_TopicDescription
*
230
DDS_Topic_as_topicdescription
(
DDS_Topic
*
self
);
231
232
/*ce \dref_Topic_narrow
233
*/
234
DDSCDllExport
DDS_Topic
*
235
DDS_Topic_narrow
(
DDS_TopicDescription
*
self
);
236
237
/*ce \dref_Topic_get_inconsistent_topic_status
238
*/
239
DDSCDllExport
DDS_ReturnCode_t
240
DDS_Topic_get_inconsistent_topic_status
(
241
DDS_Topic
*
self
,
242
struct
DDS_InconsistentTopicStatus
*status);
243
244
#if INCLUDE_API_QOS
245
/*ce \dref_Topic_set_qos
246
*/
247
DDSCDllExport
DDS_ReturnCode_t
248
DDS_Topic_set_qos
(
249
DDS_Topic
*
self
,
250
const
struct
DDS_TopicQos
*qos);
251
252
/*ce \dref_Topic_get_qos
253
*/
254
DDSCDllExport
DDS_ReturnCode_t
255
DDS_Topic_get_qos
(
DDS_Topic
*
self
,
struct
DDS_TopicQos
*qos);
256
#endif
257
258
#ifndef RTI_CERT
259
/*ce \dref_Topic_set_listener
260
*/
261
DDSCDllExport
DDS_ReturnCode_t
262
DDS_Topic_set_listener
(
263
DDS_Topic
*
self
,
264
const
struct
DDS_TopicListener
*l,
265
DDS_StatusMask
mask);
266
#endif
267
268
#ifndef RTI_CERT
269
/*ce \dref_Topic_get_listener
270
*/
271
DDSCDllExport
struct
DDS_TopicListener
272
DDS_Topic_get_listener
(
DDS_Topic
*
self
);
273
#endif
274
275
/* ----------------------------------------------------------------- */
276
277
#ifdef __cplusplus
278
}
/* extern "C" */
279
#endif
280
281
282
#endif
/* dds_c_topic_h */
RTI Connext DDS Micro Version 2.4.6
Copyright © Mon Jan 25 2016
Real-Time Innovations, Inc