RTI Connext DDS Micro  Version 2.4.6
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
dds_c_domain.h
Go to the documentation of this file.
1 /*
2  * FILE: dds_c_domain.h - DDS domain module definitions
3  *
4  * (c) Copyright, Real-Time Innovations, 2012-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  * 19may2015,as MICRO-1193 Refactoring of Sequence API levels
17  * 02apr2015,as MICRO-372/PR#1528 Set space for discovery component to be
18  * RT_MAX_FACTORY_NAME+1
19  * 20sep2014,as Make support functions for QosPolicy types private and reduce public
20  * support functions for Qos types to initialize, finalize, copy only.
21  * 29apr2014,as MICRO-372 (Verocel PR#1528) Documented maximum length
22  * of DDS_DiscoveryComponent::name
23  * 19jul2013,as Added support for C++
24  * 29jun2012,tk Written
25  */
26 /*ce
27  * \file
28  * \brief DDS Domain Module definitions
29  */
30 /*e
31  @addtogroup DDSDomainModule Domain Module
32  @ingroup DDSCModule
33 
34  @brief Defines the \dds domain package
35  */
36 #ifndef dds_c_domain_h
37 #define dds_c_domain_h
38 
39 #ifndef NULL
40 #define NULL 0
41 #endif
42 #ifndef dds_c_dll_h
43 #include "dds_c/dds_c_dll.h"
44 #endif
45 #ifndef reda_string_h
46 #include "reda/reda_string.h"
47 #endif
48 #ifndef rt_rt_h
49 #include "rt/rt_rt.h"
50 #endif
51 #ifndef dds_c_infrastructure_h
53 #endif
54 #include "dds_c_sequence.h"
55 #ifndef dds_c_type_h
56 #include "dds_c/dds_c_type.h"
57 #endif
58 #ifndef dds_c_topic_h
59 #include "dds_c/dds_c_topic.h"
60 #endif
61 #ifndef dds_c_publication_h
63 #endif
64 #ifndef dds_c_subscription_h
66 #endif
67 
68 #ifdef __cplusplus
69 extern "C"
70 {
71 #endif
72 
73 /* ================================================================= */
74 /* Basic Types */
75 /* ================================================================= */
76 
77 /*e \dref_DomainId_t
78  */
79 typedef DDS_DOMAINID_TYPE_NATIVE DDS_DomainId_t;
80 
81 /* ----------------------------------------------------------------- */
82 /* DISCOVERY_X (eXtension QoS) */
83 /* ----------------------------------------------------------------- */
84 /*e \dref_DiscoveryQosGroupDocs
85  */
86 
87 /*e \dref_DiscoveryComponentProperty
88  */
90 {
91  struct RT_ComponentProperty _parent;
92 };
93 
94 /*i \dref_DiscoveryComponentProperty_INITIALIZER
95  */
96 #define NDDS_Discovery_Property_INITIALIZER \
97 {\
98  RT_ComponentProperty_INITIALIZER\
99 }
100 
101 /*e \dref_DISCOVERY_QOS_POLICY_NAME
102  */
103 extern DDSCDllVariable const char *const DDS_DISCOVERY_QOS_POLICY_NAME;
104 
105 /*e \dref_DiscoveryComponent
106  */
108 {
109  /*e \dref_DiscoveryComponent_name
110  *
111  * This attribute specifies the name of the plug-in to be
112  * used for DDS Discovery. The maximum length of the name
113  * is RT_MAX_FACTORY_NAME excluding the NUL termination.
114  */
115  RT_ComponentFactoryId_T name;
116 
117  struct NDDS_Discovery_Property property;
118 };
119 
120 /*e \dref_DiscoveryComponent_INITIALIZER
121  */
122 #define DDS_DiscoveryComponent_INITIALIZER \
123 {\
124  RT_ComponentFactoryId_INITIALIZER,\
125  NDDS_Discovery_Property_INITIALIZER\
126 }
127 
128 #define T struct DDS_DiscoveryComponent
129 #define TSeq DDS_DiscoveryComponentSeq
130 #include <reda/reda_sequence_decl.h>
131 
132 #ifdef DOXYGEN_DOCUMENTATION_ONLY
133 /*i \dref_DiscoveryComponentSeq
134  */
135 struct DDS_DiscoveryComponentSeq {};
136 #endif
137 
138 /*e \dref_DiscoveryQosPolicy
139  */
141 {
142  /*e \dref_DiscoveryQosPolicy_initial_peers
143  */
144  struct DDS_StringSeq initial_peers;
145 
146  /*e \dref_DiscoveryQosPolicy_enabled_transports
147  */
148  struct DDS_StringSeq enabled_transports;
149 
150  /*e \dref_DiscoveryQosPolicy_discovery
151  */
153 
154  /*e \dref_DiscoveryQosPolicy_accept_unknown_peers
155  */
157 };
158 
159 /*i \dref_DiscoveryQosPolicy_DEFAULT
160  */
161 #define DDS_DISCOVERY_QOS_POLICY_DEFAULT { \
162  DDS_SEQUENCE_INITIALIZER,\
163  DDS_SEQUENCE_INITIALIZER,\
164  DDS_DiscoveryComponent_INITIALIZER, \
165  DDS_BOOLEAN_TRUE \
166 }
167 
168 /*e \dref_UserTrafficQosPolicy
169  */
171 {
172  /*e \dref_UserTrafficQosPolicy_enabled_transports
173  */
174  struct DDS_StringSeq enabled_transports;
175 };
176 
177 /*i \dref_UserTrafficQosPolicy_DEFAULT
178  */
179 #define DDS_USERTRAFFIC_QOS_POLICY_DEFAULT { \
180  DDS_SEQUENCE_INITIALIZER\
181 }
182 
183 /* ================================================================= */
184 /* Listeners */
185 /* ================================================================= */
186 
188 struct DDS_PublisherQos;
189 struct DDS_SubscriberQos;
190 struct DDS_DataReaderQos;
191 struct DDS_DataWriterQos;
192 struct DDS_TopicQos;
194 struct DDS_PublisherListener;
198 struct DDS_TopicListener;
199 
200 /* ----------------------------------------------------------------- */
201 
202 /*ce \dref_DomainParticipantListener
203  */
205 {
206  /*ce \dref_DomainParticipantListener_as_topiclistener
207  */
209 
210  /*ce \dref_DomainParticipantListener_as_publisherlistener
211  */
213 
214  /*ce \dref_DomainParticipantListener_as_subscriberlistener
215  */
217 };
218 
219 /*ce \dref_DomainParticipantListener_INITIALIZER
220  */
221 #define DDS_DomainParticipantListener_INITIALIZER \
222 {\
223  DDS_TopicListener_INITIALIZER, \
224  DDS_PublisherListener_INITIALIZER, \
225  DDS_SubscriberListener_INITIALIZER \
226 }
227 
228 
229 #ifdef __cplusplus
230 } /* extern "C" */
231 #endif
232 
233 /* ================================================================= */
234 /* QoS */
235 /* ================================================================= */
236 
237 /* ====================== */
238 /* DomainParticipantQos */
239 /* ====================== */
240 
241 /*e \dref_DomainParticipantQos
242  */
243 struct DDSCPPDllExport DDS_DomainParticipantQos
244 {
245  /*e \dref_DomainParticipantQos_entity_factory
246  */
247  struct DDS_EntityFactoryQosPolicy entity_factory;
248 
249  /*e \dref_DomainParticipantQos_discovery
250  */
252 
253  /*e \dref_DomainParticipantQos_resource_limits
254  */
256 
257  /*e \dref_DomainParticipantQos_participant_name
258  */
259  struct DDS_EntityNameQosPolicy participant_name;
260 
261  /*e \dref_DomainParticipantQos_wire_protocol
262  */
263  struct DDS_WireProtocolQosPolicy protocol;
264 
265  /*e \dref_DomainParticipantQos_transports
266  */
267  struct DDS_TransportQosPolicy transports;
268 
269  /*e \dref_DomainParticipantQos_user_traffic
270  */
271  struct DDS_UserTrafficQosPolicy user_traffic;
272 
273  DDSC_CPP_SUPPORT_METHODS_EXTENDED(DDS_DomainParticipantQos)
274 };
275 
276 #ifdef __cplusplus
277 extern "C"
278 {
279 #endif
280 
281 /*ce \dref_DomainParticipantQos_INITIALIZER
282  */
283 #define DDS_DomainParticipantQos_INITIALIZER \
284 { \
285  DDS_ENTITY_FACTORY_QOS_POLICY_DEFAULT, \
286  DDS_DISCOVERY_QOS_POLICY_DEFAULT, \
287  DDS_DOMAIN_PARTICIPANT_RESOURCE_LIMITS_QOS_POLICY_DEFAULT,\
288  DDS_ENTITY_NAME_QOS_POLICY_DEFAULT, \
289  DDS_WIRE_PROTOCOL_QOS_POLICY_DEFAULT, \
290  DDS_TRANSPORT_QOS_POLICY_DEFAULT, \
291  DDS_USERTRAFFIC_QOS_POLICY_DEFAULT \
292 }
293 
294 
295 /*ce \dref_DomainParticipantQos_initialize
296  */
297 DDSCDllExport DDS_ReturnCode_t
299 
300 /*ce \dref_DomainParticipantQos_copy
301  */
302 DDSCDllExport DDS_ReturnCode_t
304  const struct DDS_DomainParticipantQos *source);
305 
306 /*ci
307  * \brief Compare two DDS_DomainParticipantQos policies for equality
308  *
309  * \param[in] left The left side of the comparison
310  * \param[in] right The right side of the comparison
311  *
312  * \return DDS_BOOLEAN_TRUE if the structures are equal,
313  * DDS_BOOLEAN_FALSE otherwise
314  */
315 MUST_CHECK_RETURN DDSCDllExport DDS_Boolean
316 DDS_DomainParticipantQos_is_equal(const struct DDS_DomainParticipantQos *left,
317  const struct DDS_DomainParticipantQos *right);
318 
319 #ifndef RTI_CERT
320 /*ce \dref_DomainParticipantQos_finalize
321  */
322 DDSCDllExport DDS_ReturnCode_t
324 #endif /* !RTI_CERT */
325 
326 #ifdef __cplusplus
327 } /* extern "C" */
328 #endif
329 
330 /* ============================== */
331 /* DomainParticipantFactoryQos */
332 /* ============================== */
333 
334 /*e \dref_DomainParticipantFactoryQos
335  */
336 struct DDSCPPDllExport DDS_DomainParticipantFactoryQos
337 {
338  /*e \dref_DomainParticipantFactoryQos_entity_factory
339  */
340  struct DDS_EntityFactoryQosPolicy entity_factory;
341 
342  /*e \dref_DomainParticipantFactoryQos_resource_limits
343  */
344  struct DDS_SystemResourceLimitsQosPolicy resource_limits;
345 
346  DDSC_CPP_SUPPORT_METHODS_EXTENDED(DDS_DomainParticipantFactoryQos)
347 };
348 
349 #ifdef __cplusplus
350 extern "C"
351 {
352 #endif
353 
354 /*ci
355  * \brief Initialize a DDS_DomainParticipantFactoryQos policy
356  *
357  * \param[in] self DDS_DomainParticipantFactoryQos policy to initialize
358  *
359  * \return DDS_RETCODE_OK on success, one of the standard error codes on failure
360  */
361 DDSCDllExport DDS_ReturnCode_t
362 DDS_DomainParticipantFactoryQos_initialize(
363  struct DDS_DomainParticipantFactoryQos* self);
364 
365 #ifndef RTI_CERT
366 /*ci
367  * \brief Initialize a DDS_DomainParticipantFactoryQos policy
368  *
369  * \param[in] self DDS_DomainParticipantFactoryQos policy to finalize
370  *
371  * \return DDS_RETCODE_OK on success, one of the standard error codes on failure
372  */
373 DDSCDllExport DDS_ReturnCode_t
374 DDS_DomainParticipantFactoryQos_finalize(
375  struct DDS_DomainParticipantFactoryQos* self);
376 #endif /*RTI_CERT*/
377 
378 /*ci
379  * \brief Copy a DDS_DomainParticipantFactoryQos policy
380  *
381  * \details
382  * Copy the contents of the source structure to the destination structure. The
383  * destination structure must be preallocated and initialized.
384  *
385  * \param[inout] out The destination DDS_DomainParticipantFactoryQos policy
386  * \param[in] in The source DDS_DomainParticipantFactoryQos policy
387  *
388  * \return DDS_RETCODE_OK on success, one of the standard error codes on failure
389  */
390 DDSCDllExport DDS_ReturnCode_t
391 DDS_DomainParticipantFactoryQos_copy(
392  struct DDS_DomainParticipantFactoryQos* self,
393  const struct DDS_DomainParticipantFactoryQos* from);
394 
395 /*ci
396  * \brief Test if two DDS_DomainParticipantFactoryQos are equal
397  *
398  * \param[in] left The left side of the comparison
399  * \param[in] right The right side of the comparison
400  *
401  * \return DDS_BOOLEAN_TRUE if left is equal to right,
402  * DDS_BOOLEAN_FALSE if left is not equal to right
403  */
404 MUST_CHECK_RETURN DDSCDllExport DDS_Boolean
405 DDS_DomainParticipantFactoryQos_is_equal(
406  const struct DDS_DomainParticipantFactoryQos *left,
407  const struct DDS_DomainParticipantFactoryQos *right);
408 
409 /*ce \dref_DomainParticipantFactoryQos_INITIALIZER
410  */
411 #define DDS_DomainParticipantFactoryQos_INITIALIZER \
412 {\
413  DDS_ENTITY_FACTORY_QOS_POLICY_DEFAULT, \
414  DDS_SYSTEM_RESOURCE_LIMITS_QOS_POLICY_DEFAULT \
415 }
416 
417 
418 /* ================================================================= */
419 /* DomainParticipant */
420 /* ================================================================= */
421 
422 /*e \dref_TOPIC_QOS_DEFAULT
423  */
424 extern DDSCDllVariable const struct DDS_TopicQos
426 
427 /*e \dref_PUBLISHER_QOS_DEFAULT
428  */
429 extern DDSCDllVariable const struct DDS_PublisherQos
431 
432 /*e \dref_SUBSCRIBER_QOS_DEFAULT
433  */
434 extern DDSCDllVariable const struct DDS_SubscriberQos
436 
437 /* ----------------------------------------------------------------- */
438 /* LANGUAGE-DEPENDENDENT WRAPPER-ENTITIES FINALIZERS */
439 /* ----------------------------------------------------------------- */
440 /*i \dref_DomainParticipant_finalize_publisher_fn
441  */
442 typedef void (*DDS_DomainParticipant_finalize_publisher_fn)(DDS_Publisher *publisher);
443 /*i \dref_DomainParticipant_finalize_subscriber_fn
444  */
445 typedef void (*DDS_DomainParticipant_finalize_subscriber_fn)(DDS_Subscriber *subscriber);
446 /*i \dref_DomainParticipant_finalize_topic_fn
447  */
448 typedef void (*DDS_DomainParticipant_finalize_topic_fn)(DDS_Topic *topic);
449 
450 /*i \dref_DomainParticipant_EntityFinalizer
451  */
452 typedef struct DDS_DomainParticipant_EntityFinalizer
453 {
454  DDS_DomainParticipant_finalize_publisher_fn finalize_publisher;
455  DDS_DomainParticipant_finalize_subscriber_fn finalize_subscriber;
456  DDS_DomainParticipant_finalize_topic_fn finalize_topic;
457 } DDS_DomainParticipant_EntityFinalizer_t;
458 
459 /*i \dref_DomainParticipant_EntityFinalizer_INITIALIZER
460  */
461 #define DDS_DomainParticipant_EntityFinalizer_INITIALIZER \
462  { NULL, NULL, NULL}
463 
464 /* ----------------------------------------------------------------- */
465 
466 #define DDS_DomainParticipant_as_entity(domainPtr) \
467  ((DDS_Entity*) domainPtr)
468 
469 #ifdef DOXYGEN_DOCUMENTATION_ONLY
470 
471 /*ce \dref_DomainParticipant_as_entity
472  */
474 
475 #endif /*DOXYGEN_DOCUMENTATION_ONLY */
476 
477 /* ================================== */
478 /* Get and Set Default QoS routines */
479 /* ================================== */
480 
481 #if INCLUDE_API_QOS
482 /*ce \dref_DomainParticipant_get_default_publisher_qos
483  */
484 DDSCDllExport DDS_ReturnCode_t
486  DDS_DomainParticipant *self,
487  struct DDS_PublisherQos *qos);
488 
489 /*ce \dref_DomainParticipant_set_default_publisher_qos
490  */
491 DDSCDllExport DDS_ReturnCode_t
493  DDS_DomainParticipant *self,
494  const struct DDS_PublisherQos *qos);
495 
496 /*ce \dref_DomainParticipant_get_default_subscriber_qos
497  */
498 DDSCDllExport DDS_ReturnCode_t
500  DDS_DomainParticipant *self,
501  struct DDS_SubscriberQos *qos);
502 
503 /*ce \dref_DomainParticipant_set_default_subscriber_qos
504  */
505 DDSCDllExport DDS_ReturnCode_t
507  DDS_DomainParticipant *self,
508  const struct DDS_SubscriberQos *qos);
509 
510 /*ce \dref_DomainParticipant_get_default_topic_qos
511  */
512 DDSCDllExport DDS_ReturnCode_t
514  DDS_DomainParticipant *self,
515  struct DDS_TopicQos *qos);
516 
517 /*ce \dref_DomainParticipant_set_default_topic_qos
518  */
519 DDSCDllExport DDS_ReturnCode_t
521  DDS_DomainParticipant *self,
522  const struct DDS_TopicQos *qos);
523 #endif
524 
525 /* ============================ */
526 /* Create and Delete routines */
527 /* ============================ */
528 
529 /*ce \dref_DomainParticipant_create_publisher
530  */
531 DDSCDllExport DDS_Publisher*
533  DDS_DomainParticipant * self,
534  const struct DDS_PublisherQos *qos,
535  const struct DDS_PublisherListener *listener,
536  DDS_StatusMask mask);
537 
538 #ifndef RTI_CERT
539 /*ce \dref_DomainParticipant_delete_publisher
540  */
541 DDSCDllExport DDS_ReturnCode_t
543  DDS_DomainParticipant *self,
544  DDS_Publisher *p);
545 #endif
546 
547 /*ce \dref_DomainParticipant_create_subscriber
548  */
549 DDSCDllExport DDS_Subscriber*
551  DDS_DomainParticipant *self,
552  const struct DDS_SubscriberQos *qos,
553  const struct DDS_SubscriberListener *listener,
554  DDS_StatusMask mask);
555 
556 #ifndef RTI_CERT
557 /*ce \dref_DomainParticipant_delete_subscriber
558  */
559 DDSCDllExport DDS_ReturnCode_t
561  DDS_DomainParticipant *self,
562  DDS_Subscriber * s);
563 #endif
564 
565 /*ce \dref_DomainParticipant_create_topic
566  */
567 DDSCDllExport DDS_Topic*
569  DDS_DomainParticipant * self,
570  const char *topic_name,
571  const char *type_name,
572  const struct DDS_TopicQos *qos,
573  const struct DDS_TopicListener *listener,
574  DDS_StatusMask mask);
575 
576 #ifndef RTI_CERT
577 /*ce \dref_DomainParticipant_delete_topic
578  */
579 DDSCDllExport DDS_ReturnCode_t
581  DDS_DomainParticipant * self,
582  DDS_Topic * topic);
583 #endif
584 
585 /*ce \dref_DomainParticipant_find_topic
586  */
587 #if INCLUDE_API_LOOKUP
588 DDSCDllExport DDS_Topic*
590  const char *topic_name,
591  const struct DDS_Duration_t *timeout);
592 #endif
593 
594 /* ================ */
595 /* Lookup routine */
596 /* ================ */
597 
598 /*ce \dref_DomainParticipant_lookup_topicdescription
599  */
600 DDSCDllExport DDS_TopicDescription*
602  DDS_DomainParticipant *self,
603  const char *topic_name);
604 
605 
606 /* ================ */
607 /* Misc. routines */
608 /* ================ */
609 
610 /*ce \dref_DomainParticipant_add_peer
611  */
612 DDSCDllExport DDS_ReturnCode_t
614 
615 /*ce \dref_DomainParticipant_get_domain_id
616  */
617 DDSCDllExport DDS_DomainId_t
619 
620 #ifndef RTI_CERT
621 /*ce \dref_DomainParticipant_delete_contained_entities
622  */
623 DDSCDllExport DDS_ReturnCode_t
625 #endif
626 
627 #ifndef RTI_CERT
628 /*ci \dref_DomainParticipant_delete_contained_entities_w_finalizerI
629  */
630 DDSCDllExport DDS_ReturnCode_t
631 DDS_DomainParticipant_delete_contained_entities_w_finalizerI(
632  DDS_DomainParticipant *self,
633  struct DDS_DomainParticipant_EntityFinalizer *finalizer);
634 #endif
635 
636 /*ce \dref_DomainParticipant_get_current_time
637  */
638 DDSCDllExport DDS_ReturnCode_t
640  DDS_DomainParticipant * self,
641  struct DDS_Time_t *current_time);
642 
644 
645 /*ce \dref_DomainParticipant_get_discovered_participants
646  */
647 #if INCLUDE_API_LOOKUP
648 DDSCDllExport DDS_ReturnCode_t
650  DDS_DomainParticipant *self,
651  struct DDS_InstanceHandleSeq *participant_handles);
652 #endif /* INCLUDE_API_LOOKUP */
653 
654 /*ce \dref_DomainParticipant_get_discovered_participant_data
655  */
656 #if INCLUDE_API_LOOKUP
657 DDSCDllExport DDS_ReturnCode_t
659  DDS_DomainParticipant * self,
660  struct DDS_ParticipantBuiltinTopicData *participant_data,
661  const DDS_InstanceHandle_t * participant_handle);
662 #endif /* INCLUDE_API_LOOKUP */
663 
664 /* ================================================================= */
665 /* From DDS_Entity */
666 /* ================================================================= */
667 
668 /* ========================== */
669 /* Get and Set QoS routines */
670 /* ========================== */
671 
672 #if INCLUDE_API_QOS
673 
674 /*ce \dref_DomainParticipant_set_qos
675  */
676 DDSCDllExport DDS_ReturnCode_t
678  DDS_DomainParticipant *self,
679  const struct DDS_DomainParticipantQos *qos);
680 
681 /*ce \dref_DomainParticipant_get_qos
682  */
683 DDSCDllExport DDS_ReturnCode_t
685  DDS_DomainParticipant *self,
686  struct DDS_DomainParticipantQos *qos);
687 #endif
688 
689 /*ci
690  * \brief Get a reference to a participant's Qos policy
691  *
692  * \details
693  * There are special cases when a participant's Qos policy may be accessed,
694  * such as when a discovery plugin needs to adjust resource limits. This
695  * function returns a pointer to the Qos policy. The pointer is only valid
696  * when called from a discovery plugin related function and should not be
697  * accessed outside of such a calling context.
698  *
699  * \param[in] self The participant to get the Qos policy reference for
700  *
701  * \return A pointer to the participant Qos policy on success, NULL on failure
702  */
703 DDSCDllExport struct DDS_DomainParticipantQos*
704 DDS_DomainParticipant_get_qos_ref(DDS_DomainParticipant * self);
705 
706 /* =============================== */
707 /* Get and Set Listener routines */
708 /* ============================== */
709 
710 #ifndef RTI_CERT
711 /*ce \dref_DomainParticipant_set_listener
712  */
713 DDSCDllExport DDS_ReturnCode_t
715  DDS_DomainParticipant * self,
716  const struct DDS_DomainParticipantListener *l,
717  DDS_StatusMask mask);
718 #endif
719 
720 #ifndef RTI_CERT
721 /*ce \dref_DomainParticipant_get_listener
722  */
723 DDSCDllExport struct DDS_DomainParticipantListener
725 #endif
726 
727 /*ci
728  * \brief Get pointer to a DomainParticipant timer
729  *
730  * \details
731  * Some plugins may need a timer and it is legal to share the timer with a
732  * participant as long as a plugin/component belongs to the participant.
733  * Note that this is not checked and it is up to the caller to use this
734  * function correctly.
735  *
736  * \param[in] self The participant to get the timer object for
737  *
738  * \return The participants timer on success, NULL on failure
739  *
740  */
741 DDSCDllExport OSAPI_Timer_T
742 DDS_DomainParticipant_get_timer(DDS_DomainParticipant *const self);
743 
744 /*e \dref_DomainParticipant_register_type
745  */
746 DDSCDllExport DDS_ReturnCode_t
748  const char *type_name,
749  struct NDDS_Type_Plugin *plugin);
750 
751 #ifndef RTI_CERT
752 /*e \dref_DomainParticipant_unregister_type
753  */
754 DDSCDllExport struct NDDS_Type_Plugin*
756  const char *type_name);
757 #endif
758 
759 /* ================================================================= */
760 /* Factory */
761 /* ================================================================= */
762 
763 /*e \dref_PARTICIPANT_QOS_DEFAULT
764  */
765 extern DDSCDllVariable const struct DDS_DomainParticipantFactoryQos
767 
768 /*e \dref_PARTICIPANT_QOS_DEFAULT
769  */
770 extern DDSCDllVariable const struct DDS_DomainParticipantQos
772 
773 /*ce \dref_DomainParticipantFactory
774  */
775 typedef struct DDS_DomainParticipantFactoryImpl DDS_DomainParticipantFactory;
776 
777 /*ce \dref_DomainParticipantFactory_get_instance
778  */
779 DDSCDllExport DDS_DomainParticipantFactory*
781 
782 /*ce \dref_DomainParticipantFactory_TheParticipantFactory
783  */
784 #define DDS_TheParticipantFactory DDS_DomainParticipantFactory_get_instance()
785 
786 #ifndef RTI_CERT
787 /*ce \dref_DomainParticipantFactory_finalize_instance
788  */
789 DDSCDllExport DDS_ReturnCode_t
791 #endif
792 
793 /* ================================= */
794 /* Set and Get Default QoS routines */
795 /* ================================= */
796 
797 #if INCLUDE_API_QOS
798 /*ce \dref_DomainParticipantFactory_set_default_participant_qos
799  */
800 DDSCDllExport DDS_ReturnCode_t
803  const struct DDS_DomainParticipantQos *qos);
804 
805 /*ce \dref_DomainParticipantFactory_get_default_participant_qos
806  */
807 DDSCDllExport DDS_ReturnCode_t
810  struct DDS_DomainParticipantQos *qos);
811 #endif
812 
813 /* =========================== */
814 /* Create and Delete routines */
815 /* =========================== */
816 
817 /*ce \dref_DomainParticipantFactory_create_participant
818  */
819 DDSCDllExport DDS_DomainParticipant*
822  DDS_DomainId_t domainId,
823  const struct DDS_DomainParticipantQos *qos,
824  const struct DDS_DomainParticipantListener *listener,
825  DDS_StatusMask mask);
826 
827 #ifndef RTI_CERT
828 /*ce \dref_DomainParticipantFactory_delete_participant
829  */
830 DDSCDllExport DDS_ReturnCode_t
833  DDS_DomainParticipant * a_participant);
834 #endif
835 
836 /* =============== */
837 /* Lookup routine */
838 /* =============== */
839 
840 /*ce \dref_DomainParticipantFactory_lookup_participant
841  */
842 DDSCDllExport DDS_DomainParticipant*
845  DDS_DomainId_t domainId);
846 
847 /* ========================= */
848 /* Get and Set Qos routines */
849 /* ========================= */
850 
851 /*ce \dref_DomainParticipantFactory_get_qos
852  */
853 DDSCDllExport DDS_ReturnCode_t
856  struct DDS_DomainParticipantFactoryQos *qos);
857 
858 /*ce \dref_DomainParticipantFactory_set_qos
859  */
860 DDSCDllExport DDS_ReturnCode_t
863  const struct DDS_DomainParticipantFactoryQos *qos);
864 
865 /*ce \dref_DomainParticipantFactory_get_registry
866  */
867 DDSCDllExport RT_Registry_T*
869 
870 #ifdef __cplusplus
871 } /* extern "C" */
872 #endif
873 
874 
875 #endif /* dds_c_domain_h */

RTI Connext DDS Micro Version 2.4.6 Copyright © Mon Jan 25 2016 Real-Time Innovations, Inc