37 #ifndef dds_c_domain_h
38 #define dds_c_domain_h
47 #include "reda/reda_string.h"
52 #ifndef dds_c_infrastructure_h
62 #ifndef dds_c_publication_h
65 #ifndef dds_c_subscription_h
92 struct RT_ComponentProperty _parent;
97 #define NDDS_Discovery_Property_INITIALIZER \
99 RT_ComponentProperty_INITIALIZER\
123 #define DDS_DiscoveryComponent_INITIALIZER \
125 RT_ComponentFactoryId_INITIALIZER,\
126 NDDS_Discovery_Property_INITIALIZER\
129 #define T struct DDS_DiscoveryComponent
130 #define TSeq DDS_DiscoveryComponentSeq
131 #include <reda/reda_sequence_decl.h>
133 #ifdef DOXYGEN_DOCUMENTATION_ONLY
136 struct DDS_DiscoveryComponentSeq {};
145 struct DDS_StringSeq initial_peers;
149 struct DDS_StringSeq enabled_transports;
164 #define DDS_DISCOVERY_QOS_POLICY_DEFAULT { \
165 DDS_SEQUENCE_INITIALIZER,\
166 DDS_SEQUENCE_INITIALIZER,\
167 DDS_DiscoveryComponent_INITIALIZER, \
179 struct DDS_StringSeq enabled_transports;
181 DDSC_CPP_QOS_POLICY_METHODS(DDS_UserTrafficQosPolicy)
186 #define DDS_USERTRAFFIC_QOS_POLICY_DEFAULT { \
187 DDS_SEQUENCE_INITIALIZER\
213 struct DDS_DomainParticipantListener
217 struct DDS_TopicListener as_topiclistener;
221 struct DDS_PublisherListener as_publisherlistener;
225 struct DDS_SubscriberListener as_subscriberlistener;
230 #define DDS_DomainParticipantListener_INITIALIZER \
232 DDS_TopicListener_INITIALIZER, \
233 DDS_PublisherListener_INITIALIZER, \
234 DDS_SubscriberListener_INITIALIZER \
292 #define DDS_DomainParticipantQos_INITIALIZER \
294 DDS_ENTITY_FACTORY_QOS_POLICY_DEFAULT, \
295 DDS_DISCOVERY_QOS_POLICY_DEFAULT, \
296 DDS_DOMAIN_PARTICIPANT_RESOURCE_LIMITS_QOS_POLICY_DEFAULT,\
297 DDS_ENTITY_NAME_QOS_POLICY_DEFAULT, \
298 DDS_WIRE_PROTOCOL_QOS_POLICY_DEFAULT, \
299 DDS_TRANSPORT_QOS_POLICY_DEFAULT, \
300 DDS_USERTRAFFIC_QOS_POLICY_DEFAULT \
371 DDS_DomainParticipantFactoryQos_initialize(
383 DDS_DomainParticipantFactoryQos_finalize(
400 DDS_DomainParticipantFactoryQos_copy(
414 DDS_DomainParticipantFactoryQos_is_equal(
420 #define DDS_DomainParticipantFactoryQos_INITIALIZER \
422 DDS_ENTITY_FACTORY_QOS_POLICY_DEFAULT, \
423 DDS_SYSTEM_RESOURCE_LIMITS_QOS_POLICY_DEFAULT \
451 typedef void (*DDS_DomainParticipant_finalize_publisher_fn)(
DDS_Publisher *publisher);
454 typedef void (*DDS_DomainParticipant_finalize_subscriber_fn)(
DDS_Subscriber *subscriber);
457 typedef void (*DDS_DomainParticipant_finalize_topic_fn)(
DDS_Topic *topic);
461 typedef struct DDS_DomainParticipant_EntityFinalizer
463 DDS_DomainParticipant_finalize_publisher_fn finalize_publisher;
464 DDS_DomainParticipant_finalize_subscriber_fn finalize_subscriber;
465 DDS_DomainParticipant_finalize_topic_fn finalize_topic;
466 } DDS_DomainParticipant_EntityFinalizer_t;
470 #define DDS_DomainParticipant_EntityFinalizer_INITIALIZER \
475 #define DDS_DomainParticipant_as_entity(domainPtr) \
476 ((DDS_Entity*) domainPtr)
478 #ifdef DOXYGEN_DOCUMENTATION_ONLY
579 const char *topic_name,
580 const char *type_name,
589 DDS_DomainParticipant_delete_topic_w_finalizer(
592 DDS_DomainParticipant_finalize_topic_fn finalizer);
604 #if INCLUDE_API_LOOKUP
607 const char *topic_name,
620 const char *topic_name);
648 DDS_DomainParticipant_delete_contained_entities_w_finalizerI(
650 struct DDS_DomainParticipant_EntityFinalizer *finalizer);
664 #if INCLUDE_API_LOOKUP
668 struct DDS_InstanceHandleSeq *participant_handles);
673 #if INCLUDE_API_LOOKUP
758 DDSCDllExport OSAPI_Timer_T
765 const char *type_name,
773 const char *type_name);
801 #define DDS_TheParticipantFactory DDS_DomainParticipantFactory_get_instance()
884 DDSCDllExport RT_Registry_T*