36 #ifndef dds_c_domain_h
37 #define dds_c_domain_h
46 #include "reda/reda_string.h"
51 #ifndef dds_c_infrastructure_h
61 #ifndef dds_c_publication_h
64 #ifndef dds_c_subscription_h
91 struct RT_ComponentProperty _parent;
96 #define NDDS_Discovery_Property_INITIALIZER \
98 RT_ComponentProperty_INITIALIZER\
122 #define DDS_DiscoveryComponent_INITIALIZER \
124 RT_ComponentFactoryId_INITIALIZER,\
125 NDDS_Discovery_Property_INITIALIZER\
128 #define T struct DDS_DiscoveryComponent
129 #define TSeq DDS_DiscoveryComponentSeq
130 #include <reda/reda_sequence_decl.h>
132 #ifdef DOXYGEN_DOCUMENTATION_ONLY
135 struct DDS_DiscoveryComponentSeq {};
144 struct DDS_StringSeq initial_peers;
148 struct DDS_StringSeq enabled_transports;
163 #define DDS_DISCOVERY_QOS_POLICY_DEFAULT { \
164 DDS_SEQUENCE_INITIALIZER,\
165 DDS_SEQUENCE_INITIALIZER,\
166 DDS_DiscoveryComponent_INITIALIZER, \
178 struct DDS_StringSeq enabled_transports;
180 DDSC_CPP_QOS_POLICY_METHODS(DDS_UserTrafficQosPolicy)
185 #define DDS_USERTRAFFIC_QOS_POLICY_DEFAULT { \
186 DDS_SEQUENCE_INITIALIZER\
212 struct DDS_DomainParticipantListener
216 struct DDS_TopicListener as_topiclistener;
220 struct DDS_PublisherListener as_publisherlistener;
224 struct DDS_SubscriberListener as_subscriberlistener;
229 #define DDS_DomainParticipantListener_INITIALIZER \
231 DDS_TopicListener_INITIALIZER, \
232 DDS_PublisherListener_INITIALIZER, \
233 DDS_SubscriberListener_INITIALIZER \
291 #define DDS_DomainParticipantQos_INITIALIZER \
293 DDS_ENTITY_FACTORY_QOS_POLICY_DEFAULT, \
294 DDS_DISCOVERY_QOS_POLICY_DEFAULT, \
295 DDS_DOMAIN_PARTICIPANT_RESOURCE_LIMITS_QOS_POLICY_DEFAULT,\
296 DDS_ENTITY_NAME_QOS_POLICY_DEFAULT, \
297 DDS_WIRE_PROTOCOL_QOS_POLICY_DEFAULT, \
298 DDS_TRANSPORT_QOS_POLICY_DEFAULT, \
299 DDS_USERTRAFFIC_QOS_POLICY_DEFAULT \
370 DDS_DomainParticipantFactoryQos_initialize(
382 DDS_DomainParticipantFactoryQos_finalize(
399 DDS_DomainParticipantFactoryQos_copy(
413 DDS_DomainParticipantFactoryQos_is_equal(
419 #define DDS_DomainParticipantFactoryQos_INITIALIZER \
421 DDS_ENTITY_FACTORY_QOS_POLICY_DEFAULT, \
422 DDS_SYSTEM_RESOURCE_LIMITS_QOS_POLICY_DEFAULT \
450 typedef void (*DDS_DomainParticipant_finalize_publisher_fn)(
DDS_Publisher *publisher);
453 typedef void (*DDS_DomainParticipant_finalize_subscriber_fn)(
DDS_Subscriber *subscriber);
456 typedef void (*DDS_DomainParticipant_finalize_topic_fn)(
DDS_Topic *topic);
460 typedef struct DDS_DomainParticipant_EntityFinalizer
462 DDS_DomainParticipant_finalize_publisher_fn finalize_publisher;
463 DDS_DomainParticipant_finalize_subscriber_fn finalize_subscriber;
464 DDS_DomainParticipant_finalize_topic_fn finalize_topic;
465 } DDS_DomainParticipant_EntityFinalizer_t;
469 #define DDS_DomainParticipant_EntityFinalizer_INITIALIZER \
474 #define DDS_DomainParticipant_as_entity(domainPtr) \
475 ((DDS_Entity*) domainPtr)
477 #ifdef DOXYGEN_DOCUMENTATION_ONLY
578 const char *topic_name,
579 const char *type_name,
595 #if INCLUDE_API_LOOKUP
598 const char *topic_name,
611 const char *topic_name);
639 DDS_DomainParticipant_delete_contained_entities_w_finalizerI(
641 struct DDS_DomainParticipant_EntityFinalizer *finalizer);
655 #if INCLUDE_API_LOOKUP
659 struct DDS_InstanceHandleSeq *participant_handles);
664 #if INCLUDE_API_LOOKUP
749 DDSCDllExport OSAPI_Timer_T
756 const char *type_name,
764 const char *type_name);
792 #define DDS_TheParticipantFactory DDS_DomainParticipantFactory_get_instance()
875 DDSCDllExport RT_Registry_T*