34 #ifndef dds_c_publication_h
35 #define dds_c_publication_h
40 #include "db/db_api.h"
75 #ifdef DOXYGEN_DOCUMENTATION_ONLY
108 #define DDS_OfferedDeadlineMissedStatus_INITIALIZER \
109 { 0L, 0L, DDS_HANDLE_NIL_NATIVE }
113 #define DDS_OfferedDeadlineMissedStatus_reset(_s) \
115 (_s)->total_count_change = 0;\
137 #define DDS_LivelinessLostStatus_INITIALIZER { 0L, 0L }
141 #define DDS_LivelinessLostStatus_reset(_s) \
143 (_s)->total_count_change = 0;\
173 #define DDS_OfferedIncompatibleQosStatus_INITIALIZER \
174 { 0L, 0L,DDS_INVALID_QOS_POLICY_ID, DDS_SEQUENCE_INITIALIZER(struct DDS_QosPolicyCount) }
178 #define DDS_OfferedIncompatibleQosStatus_reset(_s) \
180 (_s)->total_count_change = 0;\
214 #define DDS_PublicationMatchedStatus_INITIALIZER \
215 { 0L, 0L, 0L, 0L, DDS_HANDLE_NIL_NATIVE }
219 #define DDS_PublicationMatchedStatus_reset(_s) \
221 (_s)->total_count_change = 0;\
222 (_s)->current_count_change = 0;\
256 #define DDS_ReliableReaderActivityChangedStatus_INITIALIZER \
257 {0, 0, 0, 0,DDS_HANDLE_NIL_NATIVE}
261 #define DDS_ReliableReaderActivityChangedStatus_reset(_s) \
263 (_s)->active_count_change = 0;\
264 (_s)->inactive_count_change = 0;\
271 struct DDS_ReliableSampleUnacknowledgedStatus
288 #define DDS_ReliableSampleUnacknowledgedStatus_INITIALIZER \
292 DDS_HANDLE_NIL_NATIVE\
298 DDS_OfferedDeadlineMissedStatus_initialize(
304 DDS_OfferedIncompatibleQosStatus_initialize(
310 DDS_PublicationMatchedStatus_initialize(
316 DDS_LivelinessLostStatus_initialize(
322 DDS_ReliableReaderActivityChangedStatus_initialize(
337 struct DDS_DataWriterData
386 struct DDS_TypeSupportQosPolicy type_support;
394 struct RTI_ManagementQosPolicy management;
400 struct DDS_DataWriterData *data;
438 #define DDS_DataWriterQos_INITIALIZER { \
439 DDS_DEADLINE_QOS_POLICY_DEFAULT, \
440 DDS_LIVELINESS_QOS_POLICY_DEFAULT, \
441 DDS_HISTORY_QOS_POLICY_DEFAULT, \
442 DDS_RESOURCE_LIMITS_QOS_POLICY_DEFAULT, \
443 DDS_OWNERSHIP_QOS_POLICY_DEFAULT, \
444 DDS_OWNERSHIP_STRENGTH_QOS_POLICY_DEFAULT, \
445 DDS_RELIABILITY_QOS_POLICY_DEFAULT, \
446 DDS_DURABILITY_QOS_POLICY_DEFAULT, \
447 DDS_DATA_WRITER_PROTOCOL_QOS_POLICY_DEFAULT, \
448 DDS_TYPESUPPORT_QOS_POLICY_DEFAULT, \
449 DDS_TRANSPORT_QOS_POLICY_DEFAULT, \
450 RTI_MANAGEMENT_QOS_POLICY_DEFAULT, \
451 DDS_DATAWRITERRESOURCE_LIMITS_QOS_POLICY_DEFAULT, \
471 struct RTI_ManagementQosPolicy management;
507 #define DDS_PublisherQos_INITIALIZER { \
508 DDS_ENTITY_FACTORY_QOS_POLICY_DEFAULT, \
509 RTI_MANAGEMENT_QOS_POLICY_DEFAULT \
563 (*DDS_DataWriterListener_ReliableSampleUnacknowledgedCallback)(
566 const struct DDS_ReliableSampleUnacknowledgedStatus *status);
603 DDS_DataWriterListener_ReliableSampleUnacknowledgedCallback
604 on_reliable_sample_unacknowledged;
609 #define DDS_DataWriterListener_INITIALIZER { \
610 DDS_Listener_INITIALIZER, \
611 (DDS_DataWriterListener_OfferedDeadlineMissedCallback)NULL, \
612 (DDS_DataWriterListener_OfferedIncompatibleQosCallback)NULL, \
613 (DDS_DataWriterListener_LivelinessLostCallback)NULL, \
614 (DDS_DataWriterListener_PublicationMatchedCallback)NULL,\
631 #define DDS_PublisherListener_INITIALIZER { \
632 DDS_DataWriterListener_INITIALIZER }
646 #define DDS_Publisher_as_entity(publisherPtr) \
647 ((DDS_Entity*) publisherPtr)
649 #ifdef DOXYGEN_DOCUMENTATION_ONLY
708 const char *topic_name);
763 #define DDS_DataWriter_as_entity(dataWriterPtr) \
764 ((DDS_Entity*) dataWriterPtr)
766 #ifdef DOXYGEN_DOCUMENTATION_ONLY
784 #if INCLUDE_API_LOOKUP
788 DDS_DataWriter_get_matched_subscriptions(
790 struct DDS_InstanceHandleSeq *subscription_handles);
793 struct DDS_SubscriptionBuiltinTopicData;
796 #if INCLUDE_API_LOOKUP
800 DDS_DataWriter_get_matched_subscription_data(
802 struct DDS_SubscriptionBuiltinTopicData *subscription_data,
899 const void *instance_data);
907 const void *instance_data,
916 const void *instance_data,
925 const void *instance_data,
935 const void *instance_data,
943 const void *instance_data,
952 const void *instance_data,
960 const void *instance_data,
969 const void *instance_data,
994 struct NETIO_Address *dst_reader,
995 const char *address);
1001 struct NETIO_Address *dst_reader,
1002 const char *address);
1008 struct NETIO_Address *dst_reader,
1009 struct NETIO_Address *via_address);
1014 DDS_DataWriter_delete_anonymous_route(
DDS_DataWriter *datawriter,
1015 struct NETIO_Address *dst_reader,
1016 struct NETIO_Address *via_address);
1024 #ifndef dds_c_w_history_plugin_h