RTI Connext Micro
Version 2.4.1.0
Main Page
RTI Connext Micro Documentation
Data Structures
Files
File List
Globals
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
39
#include "
dds_c/dds_c_infrastructure.h
"
40
#endif
41
42
/* ================================================================= */
43
/* Basic Types */
44
/* ================================================================= */
45
46
/*e \dref_InstanceId_t
47
*/
48
typedef
struct
DDS_BuiltinTopicKey_t
DDS_InstanceId_t
;
49
50
51
/* ================================================================= */
52
/* Status */
53
/* ================================================================= */
54
55
/*e \dref_InconsistentTopicStatus
56
*/
57
struct
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
#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
*/
102
struct
DDS_TopicQos
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
119
DDS_TopicQos_initialize
(
struct
DDS_TopicQos
*
self
);
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
*
156
DDS_TopicDescription_get_type_name
(
DDS_TopicDescription
*
self
);
157
158
/*ce \dref_TopicDescription_get_name
159
*/
160
DDSCDllExport
const
char
*
161
DDS_TopicDescription_get_name
(
DDS_TopicDescription
*
self
);
162
163
/*ce \dref_TopicDescription_get_participant
164
*/
165
DDSCDllExport
DDS_DomainParticipant
*
166
DDS_TopicDescription_get_participant
(
DDS_TopicDescription
*
self
);
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
179
(*
DDS_TopicListener_InconsistentTopicCallback
)(
180
void
*listener_data,
181
DDS_Topic
*topic,
182
const
struct
DDS_InconsistentTopicStatus
*status);
183
184
/*ce \dref_TopicListener
185
*/
186
struct
DDS_TopicListener
187
{
188
/*ce \dref_TopicListener_as_listener
189
*/
190
struct
DDS_Listener
as_listener
;
191
192
/*ce \dref_TopicListener_on_inconsistent_topic
193
*/
194
DDS_TopicListener_InconsistentTopicCallback
on_inconsistent_topic
;
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
*
208
DDS_Topic_as_entity
(
DDS_Topic
*
self
);
209
210
/*ce \dref_Topic_as_topicdescription
211
*/
212
DDSCDllExport
DDS_TopicDescription
*
213
DDS_Topic_as_topicdescription
(
DDS_Topic
*
self
);
214
215
/*ce \dref_Topic_narrow
216
*/
217
DDSCDllExport
DDS_Topic
*
218
DDS_Topic_narrow
(
DDS_TopicDescription
*
self
);
219
220
/*ce \dref_Topic_get_inconsistent_topic_status
221
*/
222
DDSCDllExport
DDS_ReturnCode_t
223
DDS_Topic_get_inconsistent_topic_status
(
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
231
DDS_Topic_set_qos
(
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
251
DDS_Topic_set_listener
(
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
260
DDS_Topic_get_listener
(
DDS_Topic
*
self
);
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