RTI Connext Micro  Version 2.4.4.0
 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  * 02apr2015,as MICRO-372/PR#1528 Set space for discovery component to be
16  * RT_MAX_FACTORY_NAME+1
17  * 20sep2014,as Make support functions for QosPolicy types private and reduce public
18  * support functions for Qos types to initialize, finalize, copy only.
19  * 29apr2014,as MICRO-372 (Verocel PR#1528) Documented maximum length
20  * of DDS_DiscoveryComponent::name
21  * 19jul2013,as Added support for C++
22  * 29jun2012,tk Written
23  */
24 /*ce
25  * \file
26  * \brief DDS Domain Module definitions
27  */
28 /*e
29  @addtogroup DDSDomainModule Domain Module
30  @ingroup DDSCModule
31 
32  @brief Defines the \dds domain package
33  */
34 #ifndef dds_c_domain_h
35 #define dds_c_domain_h
36 
37 #ifndef NULL
38 #define NULL 0
39 #endif
40 #ifndef dds_c_dll_h
41 #include "dds_c/dds_c_dll.h"
42 #endif
43 #ifndef reda_string_h
44 #include "reda/reda_string.h"
45 #endif
46 #ifndef rt_rt_h
47 #include "rt/rt_rt.h"
48 #endif
49 #ifndef dds_c_infrastructure_h
51 #endif
52 #include "dds_c_sequence.h"
53 #ifndef dds_c_type_h
54 #include "dds_c/dds_c_type.h"
55 #endif
56 #ifndef dds_c_topic_h
57 #include "dds_c/dds_c_topic.h"
58 #endif
59 #ifndef dds_c_publication_h
61 #endif
62 #ifndef dds_c_subscription_h
64 #endif
65 
66 #ifdef __cplusplus
67 extern "C"
68 {
69 #endif
70 
71 /* ================================================================= */
72 /* Basic Types */
73 /* ================================================================= */
74 
75 /*e \dref_DomainId_t
76  */
77 typedef DDS_DOMAINID_TYPE_NATIVE DDS_DomainId_t;
78 
79 /* ----------------------------------------------------------------- */
80 /* DISCOVERY_X (eXtension QoS) */
81 /* ----------------------------------------------------------------- */
82 /*e \dref_DiscoveryQosGroupDocs
83  */
84 
85 /*e \dref_DiscoveryComponentProperty
86  */
88 {
89  struct RT_ComponentProperty _parent;
90 };
91 
92 /*i \dref_DiscoveryComponentProperty_INITIALIZER
93  */
94 #define NDDS_Discovery_Property_INITIALIZER \
95 {\
96  RT_ComponentProperty_INITIALIZER\
97 }
98 
99 /*e \dref_DISCOVERY_QOS_POLICY_NAME
100  */
101 extern DDSCDllVariable const char *const DDS_DISCOVERY_QOS_POLICY_NAME;
102 
103 /*e \dref_DiscoveryComponent
104  */
106 {
107  /*e \dref_DiscoveryComponent_name
108  *
109  * This attribute specifies the name of the plug-in to be
110  * used for DDS Discovery. The maximum length of the name
111  * is RT_MAX_FACTORY_NAME excluding the NUL termination.
112  */
113  char name[RT_MAX_FACTORY_NAME+1];
114 
115  struct NDDS_Discovery_Property property;
116 };
117 
118 /*e \dref_DiscoveryComponent_INITIALIZER
119  */
120 #define DDS_DiscoveryComponent_INITIALIZER \
121 {\
122  {0},\
123  NDDS_Discovery_Property_INITIALIZER\
124 }
125 
126 #define T struct DDS_DiscoveryComponent
127 #define TSeq DDS_DiscoveryComponentSeq
128 #include <reda/reda_sequence_decl.h>
129 
130 #ifdef DOXYGEN_DOCUMENTATION_ONLY
131 /*i \dref_DiscoveryComponentSeq
132  */
133 struct DDS_DiscoveryComponentSeq {};
134 #endif
135 
136 /*e \dref_DiscoveryQosPolicy
137  */
139 {
140  /*e \dref_DiscoveryQosPolicy_initial_peers
141  */
142  struct DDS_StringSeq initial_peers;
143 
144  /*e \dref_DiscoveryQosPolicy_enabled_transports
145  */
146  struct DDS_StringSeq enabled_transports;
147 
148  /*i \dref_DiscoveryQosPolicy_discovery
149  */
150  struct DDS_DiscoveryComponent discovery;
151 
152  /*e \dref_DiscoveryQosPolicy_accept_unknown_peers
153  */
155 };
156 
157 /*i \dref_DiscoveryQosPolicy_DEFAULT
158  */
159 #define DDS_DISCOVERY_QOS_POLICY_DEFAULT { \
160  DDS_SEQUENCE_INITIALIZER(DDS_String),\
161  DDS_SEQUENCE_INITIALIZER(DDS_String),\
162  DDS_DiscoveryComponent_INITIALIZER, \
163  DDS_BOOLEAN_TRUE \
164 }
165 
166 /*e \dref_UserTrafficQosPolicy
167  */
169 {
170  /*e \dref_UserTrafficQosPolicy_enabled_transports
171  */
172  struct DDS_StringSeq enabled_transports;
173 };
174 
175 /*i \dref_UserTrafficQosPolicy_DEFAULT
176  */
177 #define DDS_USERTRAFFIC_QOS_POLICY_DEFAULT { \
178  DDS_SEQUENCE_INITIALIZER(DDS_String) \
179 }
180 
181 /* ================================================================= */
182 /* Listeners */
183 /* ================================================================= */
184 
186 struct DDS_PublisherQos;
187 struct DDS_SubscriberQos;
188 struct DDS_DataReaderQos;
189 struct DDS_DataWriterQos;
190 struct DDS_TopicQos;
192 struct DDS_PublisherListener;
196 struct DDS_TopicListener;
197 
198 /* ----------------------------------------------------------------- */
199 
200 /*ce \dref_DomainParticipantListener
201  */
203 {
204  /*ce \dref_DomainParticipantListener_as_topiclistener
205  */
207 
208  /*ce \dref_DomainParticipantListener_as_publisherlistener
209  */
211 
212  /*ce \dref_DomainParticipantListener_as_subscriberlistener
213  */
215 };
216 
217 /*ce \dref_DomainParticipantListener_INITIALIZER
218  */
219 #define DDS_DomainParticipantListener_INITIALIZER \
220 {\
221  DDS_TopicListener_INITIALIZER, \
222  DDS_PublisherListener_INITIALIZER, \
223  DDS_SubscriberListener_INITIALIZER \
224 }
225 
226 
227 #ifdef __cplusplus
228 } /* extern "C" */
229 #endif
230 
231 /* ================================================================= */
232 /* QoS */
233 /* ================================================================= */
234 
235 /* ====================== */
236 /* DomainParticipantQos */
237 /* ====================== */
238 
239 /*e \dref_DomainParticipantQos
240  */
241 struct DDSCPPDllExport DDS_DomainParticipantQos
242 {
243  /*e \dref_DomainParticipantQos_entity_factory
244  */
245  struct DDS_EntityFactoryQosPolicy entity_factory;
246 
247  /*e \dref_DomainParticipantQos_discovery
248  */
249  struct DDS_DiscoveryQosPolicy discovery;
250 
251  /*e \dref_DomainParticipantQos_resource_limits
252  */
254 
255  /*e \dref_DomainParticipantQos_participant_name
256  */
257  struct DDS_EntityNameQosPolicy participant_name;
258 
259  /*e \dref_DomainParticipantQos_wire_protocol
260  */
261  struct DDS_WireProtocolQosPolicy protocol;
262 
263  /*e \dref_DomainParticipantQos_transports
264  */
265  struct DDS_TransportQosPolicy transports;
266 
267  /*e \dref_DomainParticipantQos_user_traffic
268  */
269  struct DDS_UserTrafficQosPolicy user_traffic;
270 
271  DDSC_CPP_SUPPORT_METHODS_EXTENDED(DDS_DomainParticipantQos)
272 };
273 
274 #ifdef __cplusplus
275 extern "C"
276 {
277 #endif
278 
279 /*ce \dref_DomainParticipantQos_INITIALIZER
280  */
281 #define DDS_DomainParticipantQos_INITIALIZER \
282 { \
283  DDS_ENTITY_FACTORY_QOS_POLICY_DEFAULT, \
284  DDS_DISCOVERY_QOS_POLICY_DEFAULT, \
285  DDS_DOMAIN_PARTICIPANT_RESOURCE_LIMITS_QOS_POLICY_DEFAULT,\
286  DDS_ENTITY_NAME_QOS_POLICY_DEFAULT, \
287  DDS_WIRE_PROTOCOL_QOS_POLICY_DEFAULT, \
288  DDS_TRANSPORT_QOS_POLICY_DEFAULT, \
289  DDS_USERTRAFFIC_QOS_POLICY_DEFAULT \
290 }
291 
292 
293 /*ce \dref_DomainParticipantQos_initialize
294  */
295 /* #if INCLUDE_API_QOS */
296 DDSCDllExport DDS_ReturnCode_t
298 
299 /*ce \dref_DomainParticipantQos_copy
300  */
301 /* #if INCLUDE_API_QOS */
302 DDSCDllExport DDS_ReturnCode_t
304  const struct DDS_DomainParticipantQos *source);
305 
306 /*i \dref_DomainParticipantQos_is_equal
307  */
308 MUST_CHECK_RETURN DDSCDllExport DDS_Boolean
309 DDS_DomainParticipantQos_is_equal(const struct DDS_DomainParticipantQos *left,
310  const struct DDS_DomainParticipantQos *right);
311 
312 #ifndef RTI_CERT
313 /*ce \dref_DomainParticipantQos_finalize
314  */
315 DDSCDllExport DDS_ReturnCode_t
317 #endif /* !RTI_CERT */
318 
319 #ifdef __cplusplus
320 } /* extern "C" */
321 #endif
322 
323 /* ============================== */
324 /* DomainParticipantFactoryQos */
325 /* ============================== */
326 
327 /*e \dref_DomainParticipantFactoryQos
328  */
329 struct DDSCPPDllExport DDS_DomainParticipantFactoryQos
330 {
331  /*e \dref_DomainParticipantFactoryQos_entity_factory
332  */
333  struct DDS_EntityFactoryQosPolicy entity_factory;
334 
335  /*e \dref_DomainParticipantFactoryQos_resource_limits
336  */
337  struct DDS_SystemResourceLimitsQosPolicy resource_limits;
338 
339  DDSC_CPP_SUPPORT_METHODS_EXTENDED(DDS_DomainParticipantFactoryQos)
340 };
341 
342 #ifdef __cplusplus
343 extern "C"
344 {
345 #endif
346 
347 /* \dref_DomainParticipantFactoryQos_initialize
348  */
349 DDSCDllExport DDS_ReturnCode_t
350 DDS_DomainParticipantFactoryQos_initialize(
351  struct DDS_DomainParticipantFactoryQos* self);
352 
353 #ifndef RTI_CERT
354 /* \dref_DomainParticipantFactoryQos_finalize
355  */
356 DDSCDllExport DDS_ReturnCode_t
357 DDS_DomainParticipantFactoryQos_finalize(
358  struct DDS_DomainParticipantFactoryQos* self);
359 #endif /*RTI_CERT*/
360 
361 /* \dref_DomainParticipantFactoryQos_copy
362  */
363 DDSCDllExport DDS_ReturnCode_t
364 DDS_DomainParticipantFactoryQos_copy(
365  struct DDS_DomainParticipantFactoryQos* self,
366  const struct DDS_DomainParticipantFactoryQos* from);
367 
368 /*ci
369  * \brief Test if two DDS_DomainParticipantFactoryQos are equal
370  *
371  * \param[in] left The left side of the comparison
372  * \param[in] right The right side of the comparison
373  *
374  * \return DDS_BOOLEAN_TRUE if left = right,
375  * DDS_BOOLEAN_FALSE if left != right
376  */
377 MUST_CHECK_RETURN DDSCDllExport DDS_Boolean
378 DDS_DomainParticipantFactoryQos_is_equal(
379  const struct DDS_DomainParticipantFactoryQos *left,
380  const struct DDS_DomainParticipantFactoryQos *right);
381 
382 /*ce \dref_DomainParticipantFactoryQos_INITIALIZER
383  */
384 #define DDS_DomainParticipantFactoryQos_INITIALIZER \
385 {\
386  DDS_ENTITY_FACTORY_QOS_POLICY_DEFAULT, \
387  DDS_SYSTEM_RESOURCE_LIMITS_QOS_POLICY_DEFAULT \
388 }
389 
390 
391 /* ================================================================= */
392 /* DomainParticipant */
393 /* ================================================================= */
394 
395 /*e \dref_TOPIC_QOS_DEFAULT
396  */
397 extern DDSCDllVariable const struct DDS_TopicQos
399 
400 /*e \dref_PUBLISHER_QOS_DEFAULT
401  */
402 extern DDSCDllVariable const struct DDS_PublisherQos
404 
405 /*e \dref_SUBSCRIBER_QOS_DEFAULT
406  */
407 extern DDSCDllVariable const struct DDS_SubscriberQos
409 
410 /* ----------------------------------------------------------------- */
411 /* LANGUAGE-DEPENDENDENT WRAPPER-ENTITIES FINALIZERS */
412 /* ----------------------------------------------------------------- */
413 /*i \dref_DomainParticipant_finalize_publisher_fn
414  */
415 typedef void (*DDS_DomainParticipant_finalize_publisher_fn)(DDS_Publisher *publisher);
416 /*i \dref_DomainParticipant_finalize_subscriber_fn
417  */
418 typedef void (*DDS_DomainParticipant_finalize_subscriber_fn)(DDS_Subscriber *subscriber);
419 /*i \dref_DomainParticipant_finalize_topic_fn
420  */
421 typedef void (*DDS_DomainParticipant_finalize_topic_fn)(DDS_Topic *topic);
422 
423 /*i \dref_DomainParticipant_EntityFinalizer
424  */
425 typedef struct DDS_DomainParticipant_EntityFinalizer
426 {
427  DDS_DomainParticipant_finalize_publisher_fn finalize_publisher;
428  DDS_DomainParticipant_finalize_subscriber_fn finalize_subscriber;
429  DDS_DomainParticipant_finalize_topic_fn finalize_topic;
430 } DDS_DomainParticipant_EntityFinalizer_t;
431 
432 /*i \dref_DomainParticipant_EntityFinalizer_INITIALIZER
433  */
434 #define DDS_DomainParticipant_EntityFinalizer_INITIALIZER \
435  { NULL, NULL, NULL}
436 
437 /* ----------------------------------------------------------------- */
438 
439 #define DDS_DomainParticipant_as_entity(domainPtr) \
440  ((DDS_Entity*) domainPtr)
441 
442 #ifdef DOXYGEN_DOCUMENTATION_ONLY
443 
444 /*ce \dref_DomainParticipant_as_entity
445  */
447 
448 #endif /*DOXYGEN_DOCUMENTATION_ONLY */
449 
450 /* ================================== */
451 /* Get and Set Default QoS routines */
452 /* ================================== */
453 
454 /*ce \dref_DomainParticipant_get_default_publisher_qos
455  */
456 /* #if INCLUDE_API_QOS */
457 DDSCDllExport DDS_ReturnCode_t
459  DDS_DomainParticipant *self,
460  struct DDS_PublisherQos *qos);
461 
462 /*ce \dref_DomainParticipant_set_default_publisher_qos
463  */
464 /* #if INCLUDE_API_QOS */
465 DDSCDllExport DDS_ReturnCode_t
467  DDS_DomainParticipant *self,
468  const struct DDS_PublisherQos *qos);
469 
470 /*ce \dref_DomainParticipant_get_default_subscriber_qos
471  */
472 /* #if INCLUDE_API_QOS */
473 DDSCDllExport DDS_ReturnCode_t
475  DDS_DomainParticipant *self,
476  struct DDS_SubscriberQos *qos);
477 
478 /*ce \dref_DomainParticipant_set_default_subscriber_qos
479  */
480 /* #if INCLUDE_API_QOS */
481 DDSCDllExport DDS_ReturnCode_t
483  DDS_DomainParticipant *self,
484  const struct DDS_SubscriberQos *qos);
485 
486 /*ce \dref_DomainParticipant_get_default_topic_qos
487  */
488 /* #if INCLUDE_API_QOS */
489 DDSCDllExport DDS_ReturnCode_t
491  DDS_DomainParticipant *self,
492  struct DDS_TopicQos *qos);
493 
494 /*ce \dref_DomainParticipant_set_default_topic_qos
495  */
496 /* #if INCLUDE_API_QOS */
497 DDSCDllExport DDS_ReturnCode_t
499  DDS_DomainParticipant *self,
500  const struct DDS_TopicQos *qos);
501 
502 /* ============================ */
503 /* Create and Delete routines */
504 /* ============================ */
505 
506 /*ce \dref_DomainParticipant_create_publisher
507  */
508 DDSCDllExport DDS_Publisher*
510  DDS_DomainParticipant * self,
511  const struct DDS_PublisherQos *qos,
512  const struct DDS_PublisherListener *listener,
513  DDS_StatusMask mask);
514 
515 #ifndef RTI_CERT
516 /*ce \dref_DomainParticipant_delete_publisher
517  */
518 DDSCDllExport DDS_ReturnCode_t
520  DDS_DomainParticipant *self,
521  DDS_Publisher *p);
522 #endif
523 
524 /*ce \dref_DomainParticipant_create_subscriber
525  */
526 DDSCDllExport DDS_Subscriber*
528  DDS_DomainParticipant *self,
529  const struct DDS_SubscriberQos *qos,
530  const struct DDS_SubscriberListener *listener,
531  DDS_StatusMask mask);
532 
533 #ifndef RTI_CERT
534 /*ce \dref_DomainParticipant_delete_subscriber
535  */
536 DDSCDllExport DDS_ReturnCode_t
538  DDS_DomainParticipant *self,
539  DDS_Subscriber * s);
540 #endif
541 
542 /*ce \dref_DomainParticipant_create_topic
543  */
544 DDSCDllExport DDS_Topic*
546  DDS_DomainParticipant * self,
547  const char *topic_name,
548  const char *type_name,
549  const struct DDS_TopicQos *qos,
550  const struct DDS_TopicListener *listener,
551  DDS_StatusMask mask);
552 
553 #ifndef RTI_CERT
554 /*ce \dref_DomainParticipant_delete_topic
555  */
556 DDSCDllExport DDS_ReturnCode_t
558  DDS_DomainParticipant * self,
559  DDS_Topic * topic);
560 #endif
561 
562 /*ce \dref_DomainParticipant_find_topic
563  */
564 /* #if INCLUDE_API_LOOKUP */
565 DDSCDllExport DDS_Topic*
567  const char *topic_name,
568  const struct DDS_Duration_t *timeout);
569 
570 /* ================ */
571 /* Lookup routine */
572 /* ================ */
573 
574 /*ce \dref_DomainParticipant_lookup_topicdescription
575  */
576 DDSCDllExport DDS_TopicDescription*
578  DDS_DomainParticipant *self,
579  const char *topic_name);
580 
581 
582 /* ================ */
583 /* Misc. routines */
584 /* ================ */
585 
586 /*ce \dref_DomainParticipant_add_peer
587  */
588 DDSCDllExport DDS_ReturnCode_t
590 
591 /*ce \dref_DomainParticipant_get_domain_id
592  */
593 DDSCDllExport DDS_DomainId_t
595 
596 #ifndef RTI_CERT
597 /*ce \dref_DomainParticipant_delete_contained_entities
598  */
599 DDSCDllExport DDS_ReturnCode_t
601 #endif
602 
603 #ifndef RTI_CERT
604 /*ci \dref_DomainParticipant_delete_contained_entities_w_finalizerI
605  */
606 DDSCDllExport DDS_ReturnCode_t
607 DDS_DomainParticipant_delete_contained_entities_w_finalizerI(
608  DDS_DomainParticipant *self,
609  struct DDS_DomainParticipant_EntityFinalizer *finalizer);
610 #endif
611 
612 /*ce \dref_DomainParticipant_get_current_time
613  */
614 DDSCDllExport DDS_ReturnCode_t
616  DDS_DomainParticipant * self,
617  struct DDS_Time_t *current_time);
618 
620 
621 /*ce \dref_DomainParticipant_get_discovered_participants
622  */
623 #if INCLUDE_API_LOOKUP
624 DDSCDllExport DDS_ReturnCode_t
625 DDS_DomainParticipant_get_discovered_participants(
626  DDS_DomainParticipant *self,
627  struct DDS_InstanceHandleSeq *participant_handles);
628 #endif /* INCLUDE_API_LOOKUP */
629 
630 /*ce \dref_DomainParticipant_get_discovered_participant_data
631  */
632 #if INCLUDE_API_LOOKUP
633 DDSCDllExport DDS_ReturnCode_t
634 DDS_DomainParticipant_get_discovered_participant_data(
635  DDS_DomainParticipant * self,
636  struct DDS_ParticipantBuiltinTopicData *participant_data,
637  const DDS_InstanceHandle_t * participant_handle);
638 #endif /* INCLUDE_API_LOOKUP */
639 
640 /* ================================================================= */
641 /* From DDS_Entity */
642 /* ================================================================= */
643 
644 /* ========================== */
645 /* Get and Set QoS routines */
646 /* ========================== */
647 
648 /* #if INCLUDE_API_QOS */
649 
650 /*ce \dref_DomainParticipant_set_qos
651  */
652 DDSCDllExport DDS_ReturnCode_t
654  DDS_DomainParticipant *self,
655  const struct DDS_DomainParticipantQos *qos);
656 
657 /*ce \dref_DomainParticipant_get_qos
658  */
659 DDSCDllExport DDS_ReturnCode_t
661  DDS_DomainParticipant *self,
662  struct DDS_DomainParticipantQos *qos);
663 
664 /*ci \dref_DomainParticipant_get_qos_ref
665  */
666 DDSCDllExport struct DDS_DomainParticipantQos*
667 DDS_DomainParticipant_get_qos_ref(DDS_DomainParticipant * self);
668 
669 /* =============================== */
670 /* Get and Set Listener routines */
671 /* ============================== */
672 
673 #ifndef RTI_CERT
674 /*ce \dref_DomainParticipant_set_listener
675  */
676 DDSCDllExport DDS_ReturnCode_t
678  DDS_DomainParticipant * self,
679  const struct DDS_DomainParticipantListener *l,
680  DDS_StatusMask mask);
681 #endif
682 
683 #ifndef RTI_CERT
684 /*ce \dref_DomainParticipant_get_listener
685  */
686 DDSCDllExport struct DDS_DomainParticipantListener
688 #endif
689 
690 /*i \dref_DomainParticipant_get_listenerX
691  */
692 DDSCDllExport DDS_ReturnCode_t
693 DDS_DomainParticipant_get_listenerX(
694  DDS_DomainParticipant *self,
695  struct DDS_DomainParticipantListener *listener);
696 
697 /*i \dref_DomainParticipant_get_clock
698  */
699 DDSCDllExport struct OSAPI_System*
700 DDS_DomainParticipant_get_clock(DDS_DomainParticipant *const self);
701 
702 /*i \dref_DomainParticipant_get_timer
703  */
704 DDSCDllExport OSAPI_Timer_T
705 DDS_DomainParticipant_get_timer(DDS_DomainParticipant *const self);
706 
707 /*e \dref_DomainParticipant_register_type
708  */
709 DDSCDllExport DDS_ReturnCode_t
711  const char *type_name,
712  struct NDDS_Type_Plugin *plugin);
713 
714 #ifndef RTI_CERT
715 /*e \dref_DomainParticipant_unregister_type
716  */
717 DDSCDllExport struct NDDS_Type_Plugin*
719  const char *type_name);
720 #endif
721 
722 /* ================================================================= */
723 /* Factory */
724 /* ================================================================= */
725 
726 /*e \dref_PARTICIPANT_QOS_DEFAULT
727  */
728 extern DDSCDllVariable const struct DDS_DomainParticipantFactoryQos
730 
731 /*e \dref_PARTICIPANT_QOS_DEFAULT
732  */
733 extern DDSCDllVariable const struct DDS_DomainParticipantQos
735 
736 /*ce \dref_DomainParticipantFactory
737  */
738 typedef struct DDS_DomainParticipantFactoryImpl DDS_DomainParticipantFactory;
739 
740 /*ce \dref_DomainParticipantFactory_get_instance
741  */
742 DDSCDllExport DDS_DomainParticipantFactory*
744 
745 /*ce \dref_DomainParticipantFactory_TheParticipantFactory
746  */
747 #define DDS_TheParticipantFactory DDS_DomainParticipantFactory_get_instance()
748 
749 #ifndef RTI_CERT
750 /*ce \dref_DomainParticipantFactory_finalize_instance
751  */
752 DDSCDllExport DDS_ReturnCode_t
754 #endif
755 
756 /* ================================= */
757 /* Set and Get Default QoS routines */
758 /* ================================= */
759 
760 /* #if INCLUDE_API_QOS */
761 
762 /*ce \dref_DomainParticipantFactory_set_default_participant_qos
763  */
764 DDSCDllExport DDS_ReturnCode_t
767  const struct DDS_DomainParticipantQos *qos);
768 
769 /* #if INCLUDE_API_QOS */
770 /*ce \dref_DomainParticipantFactory_get_default_participant_qos
771  */
772 DDSCDllExport DDS_ReturnCode_t
775  struct DDS_DomainParticipantQos *qos);
776 
777 /* =========================== */
778 /* Create and Delete routines */
779 /* =========================== */
780 
781 /*ce \dref_DomainParticipantFactory_create_participant
782  */
783 DDSCDllExport DDS_DomainParticipant*
786  DDS_DomainId_t domainId,
787  const struct DDS_DomainParticipantQos *qos,
788  const struct DDS_DomainParticipantListener *listener,
789  DDS_StatusMask mask);
790 
791 #ifndef RTI_CERT
792 /*ce \dref_DomainParticipantFactory_delete_participant
793  */
794 DDSCDllExport DDS_ReturnCode_t
797  DDS_DomainParticipant * a_participant);
798 #endif
799 
800 /* =============== */
801 /* Lookup routine */
802 /* =============== */
803 
804 /*ce \dref_DomainParticipantFactory_lookup_participant
805  */
806 DDSCDllExport DDS_DomainParticipant*
809  DDS_DomainId_t domainId);
810 
811 /* ========================= */
812 /* Get and Set Qos routines */
813 /* ========================= */
814 
815 /*ce \dref_DomainParticipantFactory_get_qos
816  */
817 DDSCDllExport DDS_ReturnCode_t
820  struct DDS_DomainParticipantFactoryQos *qos);
821 
822 /*ce \dref_DomainParticipantFactory_set_qos
823  */
824 DDSCDllExport DDS_ReturnCode_t
827  const struct DDS_DomainParticipantFactoryQos *qos);
828 
829 /*ce \dref_DomainParticipantFactory_get_registry
830  */
831 DDSCDllExport RT_Registry_T*
833 
834 #ifdef __cplusplus
835 } /* extern "C" */
836 #endif
837 
838 
839 #endif /* dds_c_domain_h */

RTI Connext Micro Version 2.4.4.0 Copyright © Thu Apr 30 2015 Real-Time Innovations, Inc