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