34 #ifndef dds_c_domain_h
35 #define dds_c_domain_h
44 #include "reda/reda_string.h"
49 #ifndef dds_c_infrastructure_h
59 #ifndef dds_c_publication_h
62 #ifndef dds_c_subscription_h
89 struct RT_ComponentProperty _parent;
94 #define NDDS_Discovery_Property_INITIALIZER \
96 RT_ComponentProperty_INITIALIZER\
113 char name[RT_MAX_FACTORY_NAME+1];
120 #define DDS_DiscoveryComponent_INITIALIZER \
123 NDDS_Discovery_Property_INITIALIZER\
126 #define T struct DDS_DiscoveryComponent
127 #define TSeq DDS_DiscoveryComponentSeq
128 #include <reda/reda_sequence_decl.h>
130 #ifdef DOXYGEN_DOCUMENTATION_ONLY
133 struct DDS_DiscoveryComponentSeq {};
159 #define DDS_DISCOVERY_QOS_POLICY_DEFAULT { \
160 DDS_SEQUENCE_INITIALIZER(DDS_String),\
161 DDS_SEQUENCE_INITIALIZER(DDS_String),\
162 DDS_DiscoveryComponent_INITIALIZER, \
177 #define DDS_USERTRAFFIC_QOS_POLICY_DEFAULT { \
178 DDS_SEQUENCE_INITIALIZER(DDS_String) \
219 #define DDS_DomainParticipantListener_INITIALIZER \
221 DDS_TopicListener_INITIALIZER, \
222 DDS_PublisherListener_INITIALIZER, \
223 DDS_SubscriberListener_INITIALIZER \
281 #define DDS_DomainParticipantQos_INITIALIZER \
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 \
350 DDS_DomainParticipantFactoryQos_initialize(
357 DDS_DomainParticipantFactoryQos_finalize(
364 DDS_DomainParticipantFactoryQos_copy(
378 DDS_DomainParticipantFactoryQos_is_equal(
384 #define DDS_DomainParticipantFactoryQos_INITIALIZER \
386 DDS_ENTITY_FACTORY_QOS_POLICY_DEFAULT, \
387 DDS_SYSTEM_RESOURCE_LIMITS_QOS_POLICY_DEFAULT \
415 typedef void (*DDS_DomainParticipant_finalize_publisher_fn)(
DDS_Publisher *publisher);
418 typedef void (*DDS_DomainParticipant_finalize_subscriber_fn)(
DDS_Subscriber *subscriber);
421 typedef void (*DDS_DomainParticipant_finalize_topic_fn)(
DDS_Topic *topic);
425 typedef struct DDS_DomainParticipant_EntityFinalizer
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;
434 #define DDS_DomainParticipant_EntityFinalizer_INITIALIZER \
439 #define DDS_DomainParticipant_as_entity(domainPtr) \
440 ((DDS_Entity*) domainPtr)
442 #ifdef DOXYGEN_DOCUMENTATION_ONLY
547 const char *topic_name,
548 const char *type_name,
567 const char *topic_name,
579 const char *topic_name);
607 DDS_DomainParticipant_delete_contained_entities_w_finalizerI(
609 struct DDS_DomainParticipant_EntityFinalizer *finalizer);
623 #if INCLUDE_API_LOOKUP
625 DDS_DomainParticipant_get_discovered_participants(
627 struct DDS_InstanceHandleSeq *participant_handles);
632 #if INCLUDE_API_LOOKUP
634 DDS_DomainParticipant_get_discovered_participant_data(
693 DDS_DomainParticipant_get_listenerX(
699 DDSCDllExport
struct OSAPI_System*
704 DDSCDllExport OSAPI_Timer_T
711 const char *type_name,
719 const char *type_name);
747 #define DDS_TheParticipantFactory DDS_DomainParticipantFactory_get_instance()
831 DDSCDllExport RT_Registry_T*