00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef _DDS_H
00024 #define _DDS_H
00025
00121 #ifdef __cplusplus
00122 extern "C" {
00123 #endif
00124
00132 #include <dds/dds_export.h>
00133 #include <dds/dds_types.h>
00134
00135
00136
00137
00138 typedef struct _DomainParticipantFactory * DDS_DomainParticipantFactory;
00139 typedef struct _Entity * DDS_Entity;
00140 typedef struct _DomainParticipant * DDS_DomainParticipant;
00141 typedef struct _Publisher * DDS_Publisher;
00142 typedef struct _Subscriber * DDS_Subscriber;
00143 typedef struct _DataReader * DDS_DataReader;
00144 typedef struct _DataWriter * DDS_DataWriter;
00145 typedef struct _TopicDescription * DDS_TopicDescription;
00146 typedef struct _Topic * DDS_Topic;
00147 typedef struct _ContentFilteredTopic * DDS_ContentFilteredTopic;
00148 typedef struct _MultiTopic * DDS_MultiTopic;
00149
00150 typedef struct _Condition * DDS_Condition;
00151 typedef struct _StatusCondition * DDS_StatusCondition;
00152 typedef struct _ReadCondition * DDS_ReadCondition;
00154 typedef struct _GuardCondition * DDS_GuardCondition;
00155 typedef struct _QueryCondition * DDS_QueryCondition;
00156 typedef struct _WaitSet * DDS_WaitSet;
00157 typedef struct _TypeSupport * DDS_TypeSupport;
00158
00159
00160 typedef struct DDS_DCPSParticipant DDS_ParticipantBuiltinTopicData;
00161 typedef struct DDS_DCPSTopic DDS_TopicBuiltinTopicData;
00162 typedef struct DDS_DCPSPublication DDS_PublicationBuiltinTopicData;
00163 typedef struct DDS_DCPSSubscription DDS_SubscriptionBuiltinTopicData;
00164
00165 struct CoreDX_Transport;
00166
00167
00168
00169
00170
00171 DECLARE_SEQ( DDS_SampleInfo *, DDS_SampleInfoSeq );
00172 DECLARE_SEQ( char*, DDS_StringSeq);
00173 DECLARE_SEQ( DDS_Octet, DDS_OctetSeq);
00174 DECLARE_SEQ( short, DDS_ShortSeq);
00175 DECLARE_SEQ( DDS_DataWriter, DDS_DataWriterSeq );
00176 DECLARE_SEQ( DDS_DataReader, DDS_DataReaderSeq );
00177 DECLARE_SEQ( DDS_InstanceHandle_t, DDS_InstanceHandleSeq);
00178 DECLARE_SEQ( void*, DDS_PointerSeq);
00179 DECLARE_SEQ( DDS_Condition, DDS_ConditionSeq );
00180
00181 COREDX_C_API DDS_SampleInfoSeq * DDS_SampleInfoSeq__alloc(void);
00182 COREDX_C_API DDS_StringSeq * DDS_StringSeq__alloc(void);
00183 COREDX_C_API DDS_DataWriterSeq * DDS_DataWriterSeq__alloc(void);
00184 COREDX_C_API DDS_DataReaderSeq * DDS_DataReaderSeq__alloc(void);
00185 COREDX_C_API DDS_InstanceHandleSeq * DDS_InstanceHandleSeq__alloc(void);
00186 COREDX_C_API DDS_PointerSeq * DDS_PointerSeq__alloc(void);
00187 COREDX_C_API DDS_ConditionSeq * DDS_ConditionSeq__alloc(void);
00188
00189
00190
00191
00202 typedef struct DDS_TopicListener
00203 {
00209 void (*on_inconsistent_topic)(DDS_Topic the_topic,
00210 DDS_InconsistentTopicStatus status);
00211
00212 } DDS_TopicListener;
00220 typedef struct DDS_TopicListener_cd
00221 {
00230 void (*on_inconsistent_topic)(struct DDS_TopicListener_cd * self,
00231 DDS_Topic the_topic,
00232 DDS_InconsistentTopicStatus status,
00233 void * callback_data);
00234
00235 } DDS_TopicListener_cd;
00236
00248 typedef struct DDS_DataWriterListener
00249 {
00257 void (*on_offered_deadline_missed)(DDS_DataWriter writer,
00258 DDS_OfferedDeadlineMissedStatus status);
00265 void (*on_offered_incompatible_qos)(DDS_DataWriter writer,
00266 DDS_OfferedIncompatibleQosStatus status);
00272 void (*on_liveliness_lost)(DDS_DataWriter writer,
00273 DDS_LivelinessLostStatus status);
00280 void (*on_publication_matched)(DDS_DataWriter writer,
00281 DDS_PublicationMatchedStatus status);
00282 } DDS_DataWriterListener;
00293 typedef struct DDS_DataWriterListener_cd
00294 {
00302 void (*on_offered_deadline_missed)(struct DDS_DataWriterListener_cd * self,
00303 DDS_DataWriter writer,
00304 DDS_OfferedDeadlineMissedStatus status,
00305 void * callback_data);
00312 void (*on_offered_incompatible_qos)(struct DDS_DataWriterListener_cd * self,
00313 DDS_DataWriter writer,
00314 DDS_OfferedIncompatibleQosStatus status,
00315 void * callback_data);
00321 void (*on_liveliness_lost)(struct DDS_DataWriterListener_cd * self,
00322 DDS_DataWriter writer,
00323 DDS_LivelinessLostStatus status,
00324 void * callback_data);
00331 void (*on_publication_matched)(struct DDS_DataWriterListener_cd * self,
00332 DDS_DataWriter writer,
00333 DDS_PublicationMatchedStatus status,
00334 void * callback_data);
00335 } DDS_DataWriterListener_cd;
00336
00348 typedef struct DDS_PublisherListener
00349 {
00358 void (*on_offered_deadline_missed)(DDS_DataWriter writer,
00359 DDS_OfferedDeadlineMissedStatus status);
00369 void (*on_offered_incompatible_qos)(DDS_DataWriter writer,
00370 DDS_OfferedIncompatibleQosStatus status);
00379 void (*on_liveliness_lost)(DDS_DataWriter writer,
00380 DDS_LivelinessLostStatus status);
00389 void (*on_publication_matched)(DDS_DataWriter writer,
00390 DDS_PublicationMatchedStatus status);
00391 } DDS_PublisherListener;
00402 typedef struct DDS_PublisherListener_cd
00403 {
00412 void (*on_offered_deadline_missed)(struct DDS_PublisherListener_cd * self,
00413 DDS_DataWriter writer,
00414 DDS_OfferedDeadlineMissedStatus status,
00415 void * callback_data);
00425 void (*on_offered_incompatible_qos)(struct DDS_PublisherListener_cd * self,
00426 DDS_DataWriter writer,
00427 DDS_OfferedIncompatibleQosStatus status,
00428 void * callback_data);
00437 void (*on_liveliness_lost)(struct DDS_PublisherListener_cd * self,
00438 DDS_DataWriter writer,
00439 DDS_LivelinessLostStatus status,
00440 void * callback_data);
00449 void (*on_publication_matched)(struct DDS_PublisherListener_cd * self,
00450 DDS_DataWriter writer,
00451 DDS_PublicationMatchedStatus status,
00452 void * callback_data);
00453 } DDS_PublisherListener_cd;
00454
00466 typedef struct DDS_DataReaderListener
00467 {
00474 void (*on_requested_deadline_missed)(DDS_DataReader the_reader,
00475 DDS_RequestedDeadlineMissedStatus status);
00482 void (*on_requested_incompatible_qos)(DDS_DataReader the_reader,
00483 DDS_RequestedIncompatibleQosStatus status);
00489 void (*on_sample_rejected)(DDS_DataReader the_reader,
00490 DDS_SampleRejectedStatus status);
00496 void (*on_liveliness_changed)(DDS_DataReader the_reader,
00497 DDS_LivelinessChangedStatus status);
00503 void (*on_data_available)(DDS_DataReader the_reader);
00509 void (*on_subscription_matched)(DDS_DataReader the_reader,
00510 DDS_SubscriptionMatchedStatus status);
00516 void (*on_sample_lost)(DDS_DataReader the_reader,
00517 DDS_SampleLostStatus status);
00518 } DDS_DataReaderListener;
00529 typedef struct DDS_DataReaderListener_cd
00530 {
00537 void (*on_requested_deadline_missed)(struct DDS_DataReaderListener_cd * self,
00538 DDS_DataReader the_reader,
00539 DDS_RequestedDeadlineMissedStatus status,
00540 void * callback_data);
00547 void (*on_requested_incompatible_qos)(struct DDS_DataReaderListener_cd * self,
00548 DDS_DataReader the_reader,
00549 DDS_RequestedIncompatibleQosStatus status,
00550 void * callback_data);
00556 void (*on_sample_rejected)(struct DDS_DataReaderListener_cd * self,
00557 DDS_DataReader the_reader,
00558 DDS_SampleRejectedStatus status,
00559 void * callback_data);
00565 void (*on_liveliness_changed)(struct DDS_DataReaderListener_cd * self,
00566 DDS_DataReader the_reader,
00567 DDS_LivelinessChangedStatus status,
00568 void * callback_data);
00574 void (*on_data_available)(struct DDS_DataReaderListener_cd * self,
00575 DDS_DataReader the_reader,
00576 void * callback_data);
00582 void (*on_subscription_matched)(struct DDS_DataReaderListener_cd * self,
00583 DDS_DataReader the_reader,
00584 DDS_SubscriptionMatchedStatus status,
00585 void * callback_data);
00591 void (*on_sample_lost)(struct DDS_DataReaderListener_cd * self,
00592 DDS_DataReader the_reader,
00593 DDS_SampleLostStatus status,
00594 void * callback_data);
00595 } DDS_DataReaderListener_cd;
00596
00608 typedef struct DDS_SubscriberListener
00609 {
00618 void (*on_requested_deadline_missed)(DDS_DataReader the_reader,
00619 DDS_RequestedDeadlineMissedStatus status);
00629 void (*on_requested_incompatible_qos)(DDS_DataReader the_reader,
00630 DDS_RequestedIncompatibleQosStatus status);
00639 void (*on_sample_rejected)(DDS_DataReader the_reader,
00640 DDS_SampleRejectedStatus status);
00649 void (*on_liveliness_changed)(DDS_DataReader the_reader,
00650 DDS_LivelinessChangedStatus status);
00659 void (*on_data_available)(DDS_DataReader the_reader);
00668 void (*on_subscription_matched)(DDS_DataReader the_reader,
00669 DDS_SubscriptionMatchedStatus status);
00678 void (*on_sample_lost)(DDS_DataReader the_reader,
00679 DDS_SampleLostStatus status);
00686 void (*on_data_on_readers)(DDS_Subscriber the_subscriber);
00687 } DDS_SubscriberListener;
00688
00699 typedef struct DDS_SubscriberListener_cd
00700 {
00709 void (*on_requested_deadline_missed)(struct DDS_SubscriberListener_cd * self,
00710 DDS_DataReader the_reader,
00711 DDS_RequestedDeadlineMissedStatus status,
00712 void * callback_data);
00722 void (*on_requested_incompatible_qos)(struct DDS_SubscriberListener_cd * self,
00723 DDS_DataReader the_reader,
00724 DDS_RequestedIncompatibleQosStatus status,
00725 void * callback_data);
00734 void (*on_sample_rejected)(struct DDS_SubscriberListener_cd * self,
00735 DDS_DataReader the_reader,
00736 DDS_SampleRejectedStatus status,
00737 void * callback_data);
00746 void (*on_liveliness_changed)(struct DDS_SubscriberListener_cd * self,
00747 DDS_DataReader the_reader,
00748 DDS_LivelinessChangedStatus status,
00749 void * callback_data);
00758 void (*on_data_available)(struct DDS_SubscriberListener_cd * self,
00759 DDS_DataReader the_reader,
00760 void * callback_data);
00769 void (*on_subscription_matched)(struct DDS_SubscriberListener_cd * self,
00770 DDS_DataReader the_reader,
00771 DDS_SubscriptionMatchedStatus status,
00772 void * callback_data);
00781 void (*on_sample_lost)(struct DDS_SubscriberListener_cd * self,
00782 DDS_DataReader the_reader,
00783 DDS_SampleLostStatus status,
00784 void * callback_data);
00791 void (*on_data_on_readers)(struct DDS_SubscriberListener_cd * self,
00792 DDS_Subscriber the_subscriber,
00793 void * callback_data);
00794 } DDS_SubscriberListener_cd;
00795
00796
00797
00809 typedef struct DDS_DomainParticipantListener
00810 {
00820 void (*on_inconsistent_topic)(DDS_Topic the_topic,
00821 DDS_InconsistentTopicStatus status);
00832 void (*on_offered_deadline_missed)(DDS_DataWriter writer,
00833 DDS_OfferedDeadlineMissedStatus status);
00844 void (*on_offered_incompatible_qos)(DDS_DataWriter writer,
00845 DDS_OfferedIncompatibleQosStatus status);
00855 void (*on_liveliness_lost)(DDS_DataWriter writer,
00856 DDS_LivelinessLostStatus status);
00866 void (*on_publication_matched)(DDS_DataWriter writer,
00867 DDS_PublicationMatchedStatus status);
00868
00879 void (*on_requested_deadline_missed)(DDS_DataReader the_reader,
00880 DDS_RequestedDeadlineMissedStatus status);
00891 void (*on_requested_incompatible_qos)(DDS_DataReader the_reader,
00892 DDS_RequestedIncompatibleQosStatus status);
00902 void (*on_sample_rejected)(DDS_DataReader the_reader,
00903 DDS_SampleRejectedStatus status);
00914 void (*on_liveliness_changed)(DDS_DataReader the_reader,
00915 DDS_LivelinessChangedStatus status);
00925 void (*on_data_available)(DDS_DataReader the_reader);
00935 void (*on_subscription_matched)(DDS_DataReader the_reader,
00936 DDS_SubscriptionMatchedStatus status);
00946 void (*on_sample_lost)(DDS_DataReader the_reader,
00947 DDS_SampleLostStatus status);
00957 void (*on_data_on_readers)(DDS_Subscriber the_subscriber);
00958 } DDS_DomainParticipantListener;
00959
00960
00971 typedef struct DDS_DomainParticipantListener_cd
00972 {
00982 void (*on_inconsistent_topic)(struct DDS_DomainParticipantListener_cd * self,
00983 DDS_Topic the_topic,
00984 DDS_InconsistentTopicStatus status,
00985 void * callback_data);
00996 void (*on_offered_deadline_missed)(struct DDS_DomainParticipantListener_cd * self,
00997 DDS_DataWriter writer,
00998 DDS_OfferedDeadlineMissedStatus status,
00999 void * callback_data);
01010 void (*on_offered_incompatible_qos)(struct DDS_DomainParticipantListener_cd * self,
01011 DDS_DataWriter writer,
01012 DDS_OfferedIncompatibleQosStatus status,
01013 void * callback_data);
01023 void (*on_liveliness_lost)(struct DDS_DomainParticipantListener_cd * self,
01024 DDS_DataWriter writer,
01025 DDS_LivelinessLostStatus status,
01026 void * callback_data);
01036 void (*on_publication_matched)(struct DDS_DomainParticipantListener_cd * self,
01037 DDS_DataWriter writer,
01038 DDS_PublicationMatchedStatus status,
01039 void * callback_data);
01040
01051 void (*on_requested_deadline_missed)(struct DDS_DomainParticipantListener_cd * self,
01052 DDS_DataReader the_reader,
01053 DDS_RequestedDeadlineMissedStatus status,
01054 void * callback_data);
01065 void (*on_requested_incompatible_qos)(struct DDS_DomainParticipantListener_cd * self,
01066 DDS_DataReader the_reader,
01067 DDS_RequestedIncompatibleQosStatus status,
01068 void * callback_data);
01078 void (*on_sample_rejected)(struct DDS_DomainParticipantListener_cd * self,
01079 DDS_DataReader the_reader,
01080 DDS_SampleRejectedStatus status,
01081 void * callback_data);
01092 void (*on_liveliness_changed)(struct DDS_DomainParticipantListener_cd * self,
01093 DDS_DataReader the_reader,
01094 DDS_LivelinessChangedStatus status,
01095 void * callback_data);
01105 void (*on_data_available)(struct DDS_DomainParticipantListener_cd * self,
01106 DDS_DataReader the_reader,
01107 void * callback_data);
01117 void (*on_subscription_matched)(struct DDS_DomainParticipantListener_cd * self,
01118 DDS_DataReader the_reader,
01119 DDS_SubscriptionMatchedStatus status,
01120 void * callback_data);
01130 void (*on_sample_lost)(struct DDS_DomainParticipantListener_cd * self,
01131 DDS_DataReader the_reader,
01132 DDS_SampleLostStatus status,
01133 void * callback_data);
01143 void (*on_data_on_readers)(struct DDS_DomainParticipantListener_cd * self,
01144 DDS_Subscriber the_subscriber,
01145 void * callback_data);
01146 } DDS_DomainParticipantListener_cd;
01147
01148
01149
01150
01151 COREDX_C_API const char * DDS_USERDATA_QOS_POLICY_NAME;
01152 COREDX_C_API const char * DDS_DURABILITY_QOS_POLICY_NAME;
01153 COREDX_C_API const char * DDS_PRESENTATION_QOS_POLICY_NAME;
01154 COREDX_C_API const char * DDS_DEADLINE_QOS_POLICY_NAME;
01155 COREDX_C_API const char * DDS_LATENCYBUDGET_QOS_POLICY_NAME;
01156 COREDX_C_API const char * DDS_OWNERSHIP_QOS_POLICY_NAME;
01157 COREDX_C_API const char * DDS_OWNERSHIPSTRENGTH_QOS_POLICY_NAME;
01158 COREDX_C_API const char * DDS_LIVELINESS_QOS_POLICY_NAME;
01159 COREDX_C_API const char * DDS_TIMEBASEDFILTER_QOS_POLICY_NAME;
01160 COREDX_C_API const char * DDS_PARTITION_QOS_POLICY_NAME;
01161 COREDX_C_API const char * DDS_RELIABILITY_QOS_POLICY_NAME;
01162 COREDX_C_API const char * DDS_DESTINATIONORDER_QOS_POLICY_NAME;
01163 COREDX_C_API const char * DDS_HISTORY_QOS_POLICY_NAME;
01164 COREDX_C_API const char * DDS_RESOURCELIMITS_QOS_POLICY_NAME;
01165 COREDX_C_API const char * DDS_ENTITYFACTORY_QOS_POLICY_NAME;
01166 COREDX_C_API const char * DDS_WRITERDATALIFECYCLE_QOS_POLICY_NAME;
01167 COREDX_C_API const char * DDS_READERDATALIFECYCLE_QOS_POLICY_NAME;
01168 COREDX_C_API const char * DDS_TOPICDATA_QOS_POLICY_NAME;
01169 COREDX_C_API const char * DDS_GROUPDATA_QOS_POLICY_NAME;
01170 COREDX_C_API const char * DDS_TRANSPORTPRIORITY_QOS_POLICY_NAME;
01171 COREDX_C_API const char * DDS_LIFESPAN_QOS_POLICY_NAME;
01172 COREDX_C_API const char * DDS_DURABILITYSERVICE_POLICY_NAME;
01173 COREDX_C_API const char * DDS_DATA_REPRESENTATION_POLICY_NAME;
01174
01175 COREDX_C_API DDS_QosPolicyId_t DDS_USERDATA_QOS_POLICY_ID;
01176 COREDX_C_API DDS_QosPolicyId_t DDS_DURABILITY_QOS_POLICY_ID;
01177 COREDX_C_API DDS_QosPolicyId_t DDS_PRESENTATION_QOS_POLICY_ID;
01178 COREDX_C_API DDS_QosPolicyId_t DDS_DEADLINE_QOS_POLICY_ID;
01179 COREDX_C_API DDS_QosPolicyId_t DDS_LATENCYBUDGET_QOS_POLICY_ID;
01180 COREDX_C_API DDS_QosPolicyId_t DDS_OWNERSHIP_QOS_POLICY_ID;
01181 COREDX_C_API DDS_QosPolicyId_t DDS_OWNERSHIPSTRENGTH_QOS_POLICY_ID;
01182 COREDX_C_API DDS_QosPolicyId_t DDS_LIVELINESS_QOS_POLICY_ID;
01183 COREDX_C_API DDS_QosPolicyId_t DDS_TIMEBASEDFILTER_QOS_POLICY_ID;
01184 COREDX_C_API DDS_QosPolicyId_t DDS_PARTITION_QOS_POLICY_ID;
01185 COREDX_C_API DDS_QosPolicyId_t DDS_RELIABILITY_QOS_POLICY_ID;
01186 COREDX_C_API DDS_QosPolicyId_t DDS_DESTINATIONORDER_QOS_POLICY_ID;
01187 COREDX_C_API DDS_QosPolicyId_t DDS_HISTORY_QOS_POLICY_ID;
01188 COREDX_C_API DDS_QosPolicyId_t DDS_RESOURCELIMITS_QOS_POLICY_ID;
01189 COREDX_C_API DDS_QosPolicyId_t DDS_ENTITYFACTORY_QOS_POLICY_ID;
01190 COREDX_C_API DDS_QosPolicyId_t DDS_WRITERDATALIFECYCLE_QOS_POLICY_ID;
01191 COREDX_C_API DDS_QosPolicyId_t DDS_READERDATALIFECYCLE_QOS_POLICY_ID;
01192 COREDX_C_API DDS_QosPolicyId_t DDS_TOPICDATA_QOS_POLICY_ID;
01193 COREDX_C_API DDS_QosPolicyId_t DDS_GROUPDATA_QOS_POLICY_ID;
01194 COREDX_C_API DDS_QosPolicyId_t DDS_TRANSPORTPRIORITY_QOS_POLICY_ID;
01195 COREDX_C_API DDS_QosPolicyId_t DDS_LIFESPAN_QOS_POLICY_ID;
01196 COREDX_C_API DDS_QosPolicyId_t DDS_DURABILITYSERVICE_QOS_POLICY_ID;
01197 COREDX_C_API DDS_QosPolicyId_t DDS_DATA_REPRESENTATION_QOS_POLICY_ID;
01198
01199 #define DDS_MAXIMUM_QOS_POLICY_ID 23
01200
01201
01202 typedef struct DDS_UserDataQosPolicy {
01203 DDS_OctetSeq value;
01204 } DDS_UserDataQosPolicy;
01205
01206 typedef struct DDS_TopicDataQosPolicy {
01207 DDS_OctetSeq value;
01208 } DDS_TopicDataQosPolicy;
01209
01210 typedef struct DDS_GroupDataQosPolicy {
01211 DDS_OctetSeq value;
01212 } DDS_GroupDataQosPolicy;
01213
01214 typedef struct DDS_TransportPriorityQosPolicy {
01215 int value;
01216 } DDS_TransportPriorityQosPolicy;
01217
01218 typedef struct DDS_LifespanQosPolicy {
01219 DDS_Duration_t duration;
01220 } DDS_LifespanQosPolicy;
01221
01222 typedef enum DDS_DurabilityQosPolicyKind {
01223 DDS_VOLATILE_DURABILITY_QOS,
01224 DDS_TRANSIENT_LOCAL_DURABILITY_QOS,
01225 DDS_TRANSIENT_DURABILITY_QOS,
01226 DDS_PERSISTENT_DURABILITY_QOS
01227 } DDS_DurabilityQosPolicyKind;
01228
01229 typedef struct DDS_DurabilityQosPolicy {
01230 DDS_DurabilityQosPolicyKind kind;
01231 } DDS_DurabilityQosPolicy;
01232
01233 typedef enum DDS_PresentationQosPolicyAccessScopeKind {
01234 DDS_INSTANCE_PRESENTATION_QOS,
01235 DDS_TOPIC_PRESENTATION_QOS,
01236 DDS_GROUP_PRESENTATION_QOS
01237 } DDS_PresentationQosPolicyAccessScopeKind;
01238
01239 typedef struct DDS_PresentationQosPolicy {
01240 DDS_PresentationQosPolicyAccessScopeKind access_scope;
01241 unsigned char coherent_access;
01242 unsigned char ordered_access;
01243 } DDS_PresentationQosPolicy;
01244
01245 typedef struct DDS_DeadlineQosPolicy {
01246 DDS_Duration_t period;
01247 } DDS_DeadlineQosPolicy;
01248
01249 typedef struct DDS_LatencyBudgetQosPolicy {
01250 DDS_Duration_t duration;
01251 } DDS_LatencyBudgetQosPolicy;
01252
01253 typedef enum DDS_OwnershipQosPolicyKind {
01254 DDS_SHARED_OWNERSHIP_QOS,
01255 DDS_EXCLUSIVE_OWNERSHIP_QOS
01256 } DDS_OwnershipQosPolicyKind;
01257
01258 typedef struct DDS_OwnershipQosPolicy {
01259 DDS_OwnershipQosPolicyKind kind;
01260 } DDS_OwnershipQosPolicy;
01261
01262 typedef struct DDS_OwnershipStrengthQosPolicy {
01263 int value;
01264 } DDS_OwnershipStrengthQosPolicy;
01265
01266 typedef enum DDS_LivelinessQosPolicyKind {
01267 DDS_AUTOMATIC_LIVELINESS_QOS,
01268 DDS_MANUAL_BY_PARTICIPANT_LIVELINESS_QOS,
01269 DDS_MANUAL_BY_TOPIC_LIVELINESS_QOS
01270 } DDS_LivelinessQosPolicyKind;
01271
01272 typedef struct DDS_LivelinessQosPolicy {
01273 DDS_LivelinessQosPolicyKind kind;
01274 DDS_Duration_t lease_duration;
01275 } DDS_LivelinessQosPolicy;
01276
01277 typedef struct DDS_TimeBasedFilterQosPolicy {
01278 DDS_Duration_t minimum_separation;
01279 } DDS_TimeBasedFilterQosPolicy;
01280
01281 typedef struct DDS_PartitionQosPolicy {
01282 struct DDS_StringSeq name;
01283 } DDS_PartitionQosPolicy;
01284
01285 typedef enum DDS_ReliabilityQosPolicyKind {
01286 DDS_RELIABILITY_PLACEHOLDER_QOS,
01287 DDS_BEST_EFFORT_RELIABILITY_QOS,
01288 DDS_RELIABLE_RELIABILITY_QOS
01289 } DDS_ReliabilityQosPolicyKind;
01290
01291 typedef struct DDS_ReliabilityQosPolicy {
01292 DDS_ReliabilityQosPolicyKind kind;
01293 DDS_Duration_t max_blocking_time;
01294 } DDS_ReliabilityQosPolicy;
01295
01296 typedef enum DDS_DestinationOrderQosPolicyKind {
01297 DDS_BY_RECEPTION_TIMESTAMP_DESTINATIONORDER_QOS,
01298 DDS_BY_SOURCE_TIMESTAMP_DESTINATIONORDER_QOS
01299 } DDS_DestinationOrderQosPolicyKind;
01300
01301 typedef struct DDS_DestinationOrderQosPolicy {
01302 DDS_DestinationOrderQosPolicyKind kind;
01303 } DDS_DestinationOrderQosPolicy;
01304
01305 typedef enum DDS_HistoryQosPolicyKind {
01306 DDS_KEEP_LAST_HISTORY_QOS,
01307 DDS_KEEP_ALL_HISTORY_QOS
01308 } DDS_HistoryQosPolicyKind;
01309
01310 typedef struct DDS_HistoryQosPolicy {
01311 DDS_HistoryQosPolicyKind kind;
01312 int depth;
01313 } DDS_HistoryQosPolicy;
01314
01315 typedef struct DDS_ResourceLimitsQosPolicy {
01316 int max_samples;
01317 int max_instances;
01318 int max_samples_per_instance;
01319 } DDS_ResourceLimitsQosPolicy;
01320
01321 typedef struct DDS_EntityFactoryQosPolicy {
01322 unsigned char autoenable_created_entities;
01323 } DDS_EntityFactoryQosPolicy;
01324
01325 typedef struct DDS_WriterDataLifecycleQosPolicy {
01326 unsigned char autodispose_unregistered_instances;
01327 } DDS_WriterDataLifecycleQosPolicy;
01328
01329 typedef struct DDS_ReaderDataLifecycleQosPolicy {
01330 DDS_Duration_t autopurge_nowriter_samples_delay;
01331 DDS_Duration_t autopurge_disposed_samples_delay;
01332 } DDS_ReaderDataLifecycleQosPolicy;
01333
01334 typedef struct DDS_DurabilityServiceQosPolicy {
01335 DDS_Duration_t service_cleanup_delay;
01336 DDS_HistoryQosPolicyKind history_kind;
01337 int history_depth;
01338 int max_samples;
01339 int max_instances;
01340 int max_samples_per_instance;
01341 } DDS_DurabilityServiceQosPolicy;
01342
01343 typedef short DDS_DataRepresentationId_t;
01344 #define DDS_XCDR_REPRESENTATION 0x0000
01345 #define DDS_XML_REPRESENTATION 0x0001
01346 #define DDS_CDX_CDR0_REPRESENTATION 0x0000
01347 #define DDS_CDX_CDR4_REPRESENTATION 0x8000
01348
01349 DECLARE_SEQ(DDS_DataRepresentationId_t, DDS_DataRepresentationIdSeq);
01350
01351 typedef struct DDS_DataRepresentationQosPolicy {
01352 DDS_DataRepresentationIdSeq value;
01353 } DDS_DataRepresentationQosPolicy;
01354
01355
01356
01357 typedef struct CoreDX_EntityNameQosPolicy {
01358 #define COREDX_ENTITY_NAME_MAX 32
01359 char value[COREDX_ENTITY_NAME_MAX];
01360 } CoreDX_EntityNameQosPolicy;
01361
01362 #define COREDX_ERROR_LOGGING_QOS 0x0001
01363 #define COREDX_DATA_LOGGING_QOS 0x0002
01364 #define COREDX_DISCOVERY_LOGGING_QOS 0x0004
01365 #define COREDX_FACTORY_LOGGING_QOS 0x0008
01366 #define COREDX_LIVELINESS_LOGGING_QOS 0x0010
01367 #define COREDX_STATUS_LOGGING_QOS 0x0020
01368 #define COREDX_TRANSPORT_LOGGING_QOS 0x0040
01369 #define COREDX_SCHEDULE_LOGGING_QOS 0x0080
01370 #define COREDX_TRACE_LOGGING_QOS 0x8000
01371
01372 typedef struct CoreDX_LoggingQosPolicy {
01373 unsigned int flags;
01374
01375
01376
01377
01378
01379
01380 #define COREDX_LOGGING_URI_MAX 256
01381 char uri[COREDX_LOGGING_URI_MAX];
01382 } CoreDX_LoggingQosPolicy;
01383
01384 #define COREDX_RESERVED_LOCATOR_KIND_QOS 0
01385 #define COREDX_UDPV4_LOCATOR_KIND_QOS 1
01386 #define COREDX_UDPV6_LOCATOR_KIND_QOS 2
01387 #define COREDX_UDS_LOCATOR_KIND_QOS 4
01388 #define COREDX_TCPV4_LOCATOR_KIND_QOS 0x8001
01389 #define COREDX_TCPV6_LOCATOR_KIND_QOS 0x8002
01390 #define COREDX_RESV2_LOCATOR_KIND_QOS 0x8003
01391 #define COREDX_LMT_LOCATOR_KIND_QOS 0x8004
01392 #define COREDX_SSLV4_LOCATOR_KIND_QOS 0x8005
01393 #define COREDX_SSLV6_LOCATOR_KIND_QOS 0x8006
01394 #define COREDX_SSLCLIENT_LOCATOR_KIND_QOS 0x8007
01395
01396 typedef struct CoreDX_Locator_t {
01397 int kind;
01398 unsigned int port;
01399 unsigned char addr[16];
01400 } CoreDX_Locator;
01401 DECLARE_SEQ(CoreDX_Locator, CoreDX_LocatorSeq);
01402
01403 typedef struct CoreDX_ParticipantLocator_t {
01404 unsigned int participant_id;
01405 unsigned int participant_id_max;
01406 CoreDX_Locator participant_locator;
01407 } CoreDX_ParticipantLocator;
01408 DECLARE_SEQ(CoreDX_ParticipantLocator, CoreDX_ParticipantLocatorSeq);
01409
01410 typedef struct CoreDX_PeerParticipantQosPolicy_t {
01411 CoreDX_ParticipantLocatorSeq value;
01412 } CoreDX_PeerParticipantQosPolicy;
01413
01414 typedef struct DDS_TypecodeQosPolicy {
01415 DDS_OctetSeq value;
01416 unsigned char encoding;
01417 } DDS_TypecodeQosPolicy;
01418
01422 typedef struct CoreDX_RTPSWriterQosPolicy {
01423 DDS_Duration_t heartbeat_period;
01424 DDS_Duration_t nack_response_delay;
01425 DDS_Duration_t nack_suppress_delay;
01426 DDS_Duration_t ack_deadline;
01427 unsigned int min_buffer_size;
01428 unsigned int max_buffer_size;
01429 unsigned char apply_filters;
01430 unsigned char enable_batch_msg;
01431 unsigned char send_typecode;
01432 } CoreDX_RTPSWriterQosPolicy;
01433
01437 typedef struct CoreDX_RTPSReaderQosPolicy {
01438 DDS_Duration_t heartbeat_response_delay;
01439 unsigned char accept_batch_msg;
01440 unsigned char send_typecode;
01441 unsigned char send_initial_nack;
01442 unsigned int precache_max_samples;
01443 } CoreDX_RTPSReaderQosPolicy;
01444
01445 typedef enum DDS_DiscoveryQosPolicyDiscoveryKind {
01446 DDS_PEER_DISCOVERY_QOS,
01447 DDS_CENTRAL_DISCOVERY_QOS
01448 } DDS_DiscoveryQosPolicyDiscoveryKind;
01449
01453 typedef struct CoreDX_DiscoveryQosPolicy {
01454 DDS_DiscoveryQosPolicyDiscoveryKind discovery_kind;
01455 DDS_BUILTIN_TOPIC_KEY_TYPE_NATIVE guid_pid;
01457
01458 DDS_Duration_t dpd_push_period;
01459 DDS_Duration_t dpd_lease_duration;
01461
01462 DDS_Duration_t heartbeat_period;
01463 DDS_Duration_t nack_response_delay;
01464 DDS_Duration_t nack_suppress_delay;
01465 unsigned int min_buffer_size;
01466 unsigned int max_buffer_size;
01467
01468
01469 DDS_Duration_t heartbeat_response_delay;
01470 unsigned char send_initial_nack;
01472
01473 unsigned char send_msglen_submsg;
01474 } CoreDX_DiscoveryQosPolicy;
01475
01476 typedef struct CoreDX_ThreadModelQosPolicy {
01477 unsigned char use_threads;
01478 unsigned char create_listener_thread;
01479 } CoreDX_ThreadModelQosPolicy;
01480
01487 typedef struct DDS_DomainParticipantFactoryQos {
01488 DDS_EntityFactoryQosPolicy entity_factory;
01489 } DDS_DomainParticipantFactoryQos;
01490 COREDX_C_API DDS_DomainParticipantFactoryQos * DDS_DomainParticipantFactoryQos__alloc(void);
01491
01501 typedef struct DDS_DomainParticipantQos {
01502 DDS_UserDataQosPolicy user_data;
01503 DDS_EntityFactoryQosPolicy entity_factory;
01504 CoreDX_EntityNameQosPolicy entity_name;
01505 CoreDX_LoggingQosPolicy logging;
01506 CoreDX_PeerParticipantQosPolicy peer_participants;
01508 CoreDX_DiscoveryQosPolicy discovery;
01509 CoreDX_ThreadModelQosPolicy thread_model;
01510 } DDS_DomainParticipantQos;
01511 COREDX_C_API DDS_DomainParticipantQos * DDS_DomainParticipantQos__alloc(void);
01512
01513 #define DDS_DATAWRITER_QOS_USE_TOPIC_QOS (-1)
01514 #define DDS_DATAREADER_QOS_USE_TOPIC_QOS (-1)
01515
01524 typedef struct DDS_TopicQos {
01525 DDS_TopicDataQosPolicy topic_data;
01526 DDS_DurabilityQosPolicy durability;
01527 DDS_DurabilityServiceQosPolicy durability_service;
01528 DDS_DeadlineQosPolicy deadline;
01529 DDS_LatencyBudgetQosPolicy latency_budget;
01530 DDS_LivelinessQosPolicy liveliness;
01531 DDS_ReliabilityQosPolicy reliability;
01532 DDS_DestinationOrderQosPolicy destination_order;
01533 DDS_HistoryQosPolicy history;
01534 DDS_ResourceLimitsQosPolicy resource_limits;
01535 DDS_TransportPriorityQosPolicy transport_priority;
01536 DDS_LifespanQosPolicy lifespan;
01537 DDS_OwnershipQosPolicy ownership;
01538 CoreDX_EntityNameQosPolicy entity_name;
01539 CoreDX_LoggingQosPolicy logging;
01540 } DDS_TopicQos;
01541 COREDX_C_API DDS_TopicQos * DDS_TopicQos__alloc(void);
01542
01552 typedef struct DDS_DataWriterQos {
01553 DDS_DurabilityQosPolicy durability;
01554 DDS_DurabilityServiceQosPolicy durability_service;
01555 DDS_DeadlineQosPolicy deadline;
01556 DDS_LatencyBudgetQosPolicy latency_budget;
01557 DDS_LivelinessQosPolicy liveliness;
01558 DDS_ReliabilityQosPolicy reliability;
01559 DDS_DestinationOrderQosPolicy destination_order;
01560 DDS_HistoryQosPolicy history;
01561 DDS_ResourceLimitsQosPolicy resource_limits;
01562 DDS_TransportPriorityQosPolicy transport_priority;
01563 DDS_LifespanQosPolicy lifespan;
01564 DDS_UserDataQosPolicy user_data;
01565 DDS_OwnershipQosPolicy ownership;
01566 DDS_OwnershipStrengthQosPolicy ownership_strength;
01567 DDS_WriterDataLifecycleQosPolicy writer_data_lifecycle;
01568 CoreDX_EntityNameQosPolicy entity_name;
01569 CoreDX_LoggingQosPolicy logging;
01570 CoreDX_RTPSWriterQosPolicy rtps_writer;
01571 } DDS_DataWriterQos;
01572 COREDX_C_API DDS_DataWriterQos * DDS_DataWriterQos__alloc(void);
01573
01583 typedef struct DDS_PublisherQos {
01584 DDS_PresentationQosPolicy presentation;
01591 DDS_PartitionQosPolicy partition;
01597 DDS_GroupDataQosPolicy group_data;
01598 DDS_EntityFactoryQosPolicy entity_factory;
01599 CoreDX_EntityNameQosPolicy entity_name;
01600 CoreDX_LoggingQosPolicy logging;
01601 } DDS_PublisherQos;
01602 COREDX_C_API DDS_PublisherQos * DDS_PublisherQos__alloc(void);
01603
01613 typedef struct DDS_DataReaderQos {
01614 DDS_DurabilityQosPolicy durability;
01615 DDS_DeadlineQosPolicy deadline;
01616 DDS_LatencyBudgetQosPolicy latency_budget;
01617 DDS_LivelinessQosPolicy liveliness;
01618 DDS_ReliabilityQosPolicy reliability;
01619 DDS_DestinationOrderQosPolicy destination_order;
01620 DDS_HistoryQosPolicy history;
01621 DDS_ResourceLimitsQosPolicy resource_limits;
01623 DDS_UserDataQosPolicy user_data;
01624 DDS_OwnershipQosPolicy ownership;
01625 DDS_TimeBasedFilterQosPolicy time_based_filter;
01626 DDS_ReaderDataLifecycleQosPolicy reader_data_lifecycle;
01627 CoreDX_EntityNameQosPolicy entity_name;
01628 CoreDX_LoggingQosPolicy logging;
01629 CoreDX_RTPSReaderQosPolicy rtps_reader;
01630 } DDS_DataReaderQos;
01631 COREDX_C_API DDS_DataReaderQos * DDS_DataReaderQos__alloc(void);
01632
01642 typedef struct DDS_SubscriberQos {
01643 DDS_PresentationQosPolicy presentation;
01650 DDS_PartitionQosPolicy partition;
01655 DDS_GroupDataQosPolicy group_data;
01656 DDS_EntityFactoryQosPolicy entity_factory;
01657 CoreDX_EntityNameQosPolicy entity_name;
01658 CoreDX_LoggingQosPolicy logging;
01659 } DDS_SubscriberQos;
01660 COREDX_C_API DDS_SubscriberQos * DDS_SubscriberQos__alloc(void);
01661
01662 #define DDS_PARTICIPANT_QOS_DEFAULT NULL
01663 #define DDS_TOPIC_QOS_DEFAULT NULL
01664 #define DDS_PUBLISHER_QOS_DEFAULT NULL
01665 #define DDS_SUBSCRIBER_QOS_DEFAULT NULL
01666 #define DDS_DATAWRITER_QOS_DEFAULT NULL
01667 #define DDS_DATAREADER_QOS_DEFAULT NULL
01668
01669
01670
01671
01672
01673
01686 COREDX_C_API unsigned char DDS_Condition_get_trigger_value(DDS_Condition c);
01687
01688
01689
01690
01691
01692
01702 COREDX_C_API DDS_GuardCondition DDS_GuardCondition__alloc( void );
01708 COREDX_C_API void DDS_GuardCondition__free(struct _GuardCondition * gc);
01714 COREDX_C_API unsigned char DDS_GuardCondition_get_trigger_value(DDS_GuardCondition gc);
01725 COREDX_C_API DDS_ReturnCode_t DDS_GuardCondition_set_trigger_value(DDS_GuardCondition gc,
01726 unsigned char v );
01727
01728
01729
01730
01731
01732
01743 COREDX_C_API unsigned char DDS_StatusCondition_get_trigger_value ( DDS_StatusCondition sc);
01748 COREDX_C_API DDS_StatusMask DDS_StatusCondition_get_enabled_statuses( DDS_StatusCondition sc);
01753 COREDX_C_API DDS_ReturnCode_t DDS_StatusCondition_set_enabled_statuses( DDS_StatusCondition sc,
01754 DDS_StatusMask mask );
01758 COREDX_C_API DDS_Entity DDS_StatusCondition_get_entity( DDS_StatusCondition sc);
01759
01760
01761
01762
01763
01764
01778 COREDX_C_API unsigned char DDS_ReadCondition_get_trigger_value ( DDS_ReadCondition rc);
01782 COREDX_C_API DDS_DataReader DDS_ReadCondition_get_datareader ( DDS_ReadCondition rc);
01786 COREDX_C_API DDS_SampleStateKind DDS_ReadCondition_get_sample_state_mask ( DDS_ReadCondition rc);
01790 COREDX_C_API DDS_ViewStateKind DDS_ReadCondition_get_view_state_mask ( DDS_ReadCondition rc);
01794 COREDX_C_API DDS_InstanceStateKind DDS_ReadCondition_get_instance_state_mask( DDS_ReadCondition rc);
01795
01796
01797
01798
01799
01800
01813 COREDX_C_API unsigned char DDS_QueryCondition_get_trigger_value ( DDS_QueryCondition qc);
01817 COREDX_C_API DDS_DataReader DDS_QueryCondition_get_datareader ( DDS_QueryCondition qc);
01821 COREDX_C_API DDS_SampleStateKind DDS_QueryCondition_get_sample_state_mask ( DDS_QueryCondition qc);
01825 COREDX_C_API DDS_ViewStateKind DDS_QueryCondition_get_view_state_mask ( DDS_QueryCondition qc);
01829 COREDX_C_API DDS_InstanceStateKind DDS_QueryCondition_get_instance_state_mask( DDS_QueryCondition qc);
01836 COREDX_C_API const char * DDS_QueryCondition_get_query_expression ( DDS_QueryCondition qc);
01848 COREDX_C_API DDS_ReturnCode_t DDS_QueryCondition_get_query_parameters ( DDS_QueryCondition qc,
01849 DDS_StringSeq *seq);
01865 COREDX_C_API DDS_ReturnCode_t DDS_QueryCondition_set_query_parameters ( DDS_QueryCondition qc,
01866 DDS_StringSeq *parameters);
01867
01868
01869
01870
01871
01872
01885 COREDX_C_API DDS_WaitSet DDS_WaitSet__alloc( void );
01893 COREDX_C_API void DDS_WaitSet__free(DDS_WaitSet ws);
01894
01909 COREDX_C_API DDS_ReturnCode_t DDS_WaitSet_wait(DDS_WaitSet ws,
01910 DDS_ConditionSeq * active_conditions,
01911 DDS_Duration_t * timeout );
01918 COREDX_C_API DDS_ReturnCode_t DDS_WaitSet_attach_condition( DDS_WaitSet ws,
01919 DDS_Condition c );
01925 COREDX_C_API DDS_ReturnCode_t DDS_WaitSet_detach_condition( DDS_WaitSet ws,
01926 DDS_Condition c );
01932 COREDX_C_API DDS_ReturnCode_t DDS_WaitSet_get_conditions ( DDS_WaitSet ws,
01933 DDS_ConditionSeq * attached_conditions);
01934
01935
01936
01937
01938
01939
01940
01941
01942 COREDX_C_API DDS_StatusCondition DDS_Entity_get_statuscondition( DDS_Entity e );
01943 COREDX_C_API DDS_StatusMask DDS_Entity_get_status_changes ( DDS_Entity e );
01944 COREDX_C_API DDS_InstanceHandle_t DDS_Entity_get_instance_handle( DDS_Entity e );
01945
01946
01947
01948
01949
01950
01968 COREDX_C_API DDS_DomainParticipant DDS_DomainParticipantFactory_create_participant( DDS_DomainId_t domain_id,
01969 DDS_DomainParticipantQos * qos,
01970 DDS_DomainParticipantListener * a_listener,
01971 DDS_StatusMask mask);
01972
01979 COREDX_C_API DDS_ReturnCode_t DDS_DomainParticipantFactory_set_license ( const char * lic );
01980
01987 COREDX_C_API DDS_ReturnCode_t DDS_DomainParticipantFactory_set_license_debug ( unsigned char debug );
01988
01989
01996 COREDX_C_API DDS_ReturnCode_t DDS_DomainParticipantFactory_delete_participant ( DDS_DomainParticipant a_participant );
02002 COREDX_C_API DDS_DomainParticipant DDS_DomainParticipantFactory_lookup_participant ( DDS_DomainId_t domain_id );
02010 COREDX_C_API DDS_ReturnCode_t DDS_DomainParticipantFactory_set_default_participant_qos ( DDS_DomainParticipantQos * qos );
02015 COREDX_C_API DDS_ReturnCode_t DDS_DomainParticipantFactory_get_default_participant_qos ( DDS_DomainParticipantQos * qos);
02022 COREDX_C_API DDS_ReturnCode_t DDS_DomainParticipantFactory_set_qos ( const DDS_DomainParticipantFactoryQos * qos );
02027 COREDX_C_API DDS_ReturnCode_t DDS_DomainParticipantFactory_get_qos ( DDS_DomainParticipantFactoryQos * qos );
02028
02029
02030
02031
02032
02033
02057 COREDX_C_API DDS_ReturnCode_t DDS_DomainParticipant_enable ( DDS_DomainParticipant dp );
02058 COREDX_C_API unsigned char DDS_DomainParticipant_is_enabled ( DDS_DomainParticipant dp );
02063 COREDX_C_API DDS_InstanceHandle_t DDS_DomainParticipant_get_instance_handle( DDS_DomainParticipant dp );
02068 COREDX_C_API DDS_StatusCondition DDS_DomainParticipant_get_statuscondition( DDS_DomainParticipant dp );
02077 COREDX_C_API DDS_StatusMask DDS_DomainParticipant_get_status_changes ( DDS_DomainParticipant dp );
02085 COREDX_C_API DDS_Publisher DDS_DomainParticipant_create_publisher ( DDS_DomainParticipant dp,
02086 DDS_PublisherQos * qos,
02087 DDS_PublisherListener * a_listener,
02088 DDS_StatusMask mask);
02096 COREDX_C_API DDS_ReturnCode_t DDS_DomainParticipant_delete_publisher ( DDS_DomainParticipant dp,
02097 DDS_Publisher p);
02105 COREDX_C_API DDS_Subscriber DDS_DomainParticipant_create_subscriber( DDS_DomainParticipant dp,
02106 DDS_SubscriberQos * qos,
02107 DDS_SubscriberListener * a_listener,
02108 DDS_StatusMask mask);
02116 COREDX_C_API DDS_ReturnCode_t DDS_DomainParticipant_delete_subscriber( DDS_DomainParticipant dp,
02117 DDS_Subscriber s);
02128 COREDX_C_API DDS_Subscriber DDS_DomainParticipant_get_builtin_subscriber( struct _DomainParticipant *d );
02129
02141 COREDX_C_API DDS_Topic DDS_DomainParticipant_create_topic( DDS_DomainParticipant dp,
02142 const char * topic_name,
02143 const char * type_name,
02144 DDS_TopicQos * qos,
02145 DDS_TopicListener * a_listener,
02146 DDS_StatusMask mask);
02155 COREDX_C_API DDS_ReturnCode_t DDS_DomainParticipant_delete_topic( DDS_DomainParticipant dp,
02156 DDS_Topic a_topic);
02169 COREDX_C_API DDS_Topic DDS_DomainParticipant_find_topic( DDS_DomainParticipant dp,
02170 const char * topic_name,
02171 DDS_Duration_t * timeout);
02177 COREDX_C_API DDS_TopicDescription DDS_DomainParticipant_lookup_topicdescription( DDS_DomainParticipant dp,
02178 const char * name);
02210 COREDX_C_API DDS_ContentFilteredTopic DDS_DomainParticipant_create_contentfilteredtopic( DDS_DomainParticipant dp,
02211 const char * name,
02212 const DDS_Topic related_topic,
02213 const char * filter_expression,
02214 const DDS_StringSeq * filter_parameters);
02224 COREDX_C_API DDS_ReturnCode_t DDS_DomainParticipant_delete_contentfilteredtopic( DDS_DomainParticipant dp,
02225 DDS_ContentFilteredTopic a_contentfilteredtopic);
02231 COREDX_C_API DDS_MultiTopic DDS_DomainParticipant_create_multitopic( DDS_DomainParticipant dp,
02232 const char * name,
02233 const char * type_name,
02234 const char * subscription_expression,
02235 const DDS_StringSeq * expression_parameters);
02241 COREDX_C_API DDS_ReturnCode_t DDS_DomainParticipant_delete_multitopic( DDS_DomainParticipant dp,
02242 DDS_MultiTopic a_multitopic);
02243
02253 COREDX_C_API DDS_ReturnCode_t DDS_DomainParticipant_delete_contained_entities( DDS_DomainParticipant dp );
02258 COREDX_C_API DDS_ReturnCode_t DDS_DomainParticipant_set_qos( DDS_DomainParticipant dp,
02259 const DDS_DomainParticipantQos * qos);
02265 COREDX_C_API DDS_ReturnCode_t DDS_DomainParticipant_get_qos( DDS_DomainParticipant dp,
02266 DDS_DomainParticipantQos * qos);
02275 COREDX_C_API DDS_ReturnCode_t DDS_DomainParticipant_set_listener( DDS_DomainParticipant dp,
02276 DDS_DomainParticipantListener * a_listener,
02277 DDS_StatusMask mask);
02278
02287 COREDX_C_API DDS_ReturnCode_t DDS_DomainParticipant_set_listener_cd( DDS_DomainParticipant dp,
02288 DDS_DomainParticipantListener_cd * a_listener,
02289 DDS_StatusMask mask,
02290 void * callback_data);
02300 COREDX_C_API DDS_DomainParticipantListener * DDS_DomainParticipant_get_listener( DDS_DomainParticipant dp );
02309 COREDX_C_API DDS_DomainParticipantListener_cd * DDS_DomainParticipant_get_listener_cd( DDS_DomainParticipant dp );
02318 COREDX_C_API DDS_ReturnCode_t DDS_DomainParticipant_ignore_participant ( DDS_DomainParticipant dp,
02319 const DDS_InstanceHandle_t handle);
02328 COREDX_C_API DDS_ReturnCode_t DDS_DomainParticipant_ignore_topic ( DDS_DomainParticipant dp,
02329 const DDS_InstanceHandle_t handle);
02337 COREDX_C_API DDS_ReturnCode_t DDS_DomainParticipant_ignore_publication ( DDS_DomainParticipant dp,
02338 const DDS_InstanceHandle_t handle);
02346 COREDX_C_API DDS_ReturnCode_t DDS_DomainParticipant_ignore_subscription ( DDS_DomainParticipant dp,
02347 const DDS_InstanceHandle_t handle);
02352 COREDX_C_API DDS_DomainId_t DDS_DomainParticipant_get_domain_id( DDS_DomainParticipant dp );
02353
02365 COREDX_C_API DDS_ReturnCode_t DDS_DomainParticipant_assert_liveliness( DDS_DomainParticipant dp );
02366
02374 COREDX_C_API DDS_ReturnCode_t DDS_DomainParticipant_set_default_publisher_qos( DDS_DomainParticipant d,
02375 DDS_PublisherQos * qos);
02376
02381 COREDX_C_API DDS_ReturnCode_t DDS_DomainParticipant_get_default_publisher_qos( DDS_DomainParticipant d,
02382 DDS_PublisherQos * qos);
02390 COREDX_C_API DDS_ReturnCode_t DDS_DomainParticipant_set_default_subscriber_qos( DDS_DomainParticipant d,
02391 DDS_SubscriberQos * qos);
02396 COREDX_C_API DDS_ReturnCode_t DDS_DomainParticipant_get_default_subscriber_qos( DDS_DomainParticipant d,
02397 DDS_SubscriberQos * qos);
02405 COREDX_C_API DDS_ReturnCode_t DDS_DomainParticipant_set_default_topic_qos( DDS_DomainParticipant d,
02406 DDS_TopicQos * qos);
02411 COREDX_C_API DDS_ReturnCode_t DDS_DomainParticipant_get_default_topic_qos( DDS_DomainParticipant d,
02412 DDS_TopicQos * qos);
02420 COREDX_C_API DDS_ReturnCode_t DDS_DomainParticipant_get_discovered_participants( DDS_DomainParticipant d,
02421 DDS_InstanceHandleSeq * participant_handles );
02428 COREDX_C_API DDS_ReturnCode_t DDS_DomainParticipant_get_discovered_participant_data( DDS_DomainParticipant d,
02429 DDS_ParticipantBuiltinTopicData * participant_data,
02430 const DDS_InstanceHandle_t participant_handle);
02438 COREDX_C_API DDS_ReturnCode_t DDS_DomainParticipant_get_discovered_topics( DDS_DomainParticipant d,
02439 DDS_InstanceHandleSeq * topic_handles);
02446 COREDX_C_API DDS_ReturnCode_t DDS_DomainParticipant_get_discovered_topic_data( DDS_DomainParticipant d,
02447 DDS_TopicBuiltinTopicData * topic_data,
02448 const DDS_InstanceHandle_t topic_handle);
02456 COREDX_C_API unsigned char DDS_DomainParticipant_contains_entity( DDS_DomainParticipant d,
02457 const DDS_InstanceHandle_t a_handle);
02462 COREDX_C_API DDS_ReturnCode_t DDS_DomainParticipant_get_current_time( DDS_DomainParticipant d,
02463 DDS_Time_t * current_time);
02471 COREDX_C_API DDS_ReturnCode_t DDS_DomainParticipant_register_type( DDS_DomainParticipant dp,
02472 DDS_TypeSupport ts,
02473 const char * type_name );
02483 COREDX_C_API int DDS_DomainParticipant_check_version( DDS_DomainParticipant dp,
02484 const char * major,
02485 const char * minor,
02486 const char * patch);
02498 COREDX_C_API DDS_ReturnCode_t DDS_DomainParticipant_do_work( DDS_DomainParticipant dp,
02499 DDS_Duration_t *time_slice );
02504 COREDX_C_API DDS_ReturnCode_t DDS_DomainParticipant_builtin_wait_for_acknowledgments( DDS_DomainParticipant dp,
02505 DDS_Duration_t *max_wait );
02510 COREDX_C_API void DDS_DomainParticipant_print_stats(DDS_DomainParticipant dp);
02521 COREDX_C_API DDS_ReturnCode_t DDS_DomainParticipant_add_transport(DDS_DomainParticipant dp,
02522 struct CoreDX_Transport * transport);
02523
02524
02525
02526
02527
02528
02529
02530
02551 COREDX_C_API DDS_ReturnCode_t DDS_Subscriber_enable ( DDS_Subscriber s );
02552 COREDX_C_API unsigned char DDS_Subscriber_is_enabled ( DDS_Subscriber s );
02557 COREDX_C_API DDS_InstanceHandle_t DDS_Subscriber_get_instance_handle( DDS_Subscriber s );
02562 COREDX_C_API DDS_DomainParticipant DDS_Subscriber_get_participant ( DDS_Subscriber s );
02567 COREDX_C_API DDS_StatusCondition DDS_Subscriber_get_statuscondition( DDS_Subscriber s );
02576 COREDX_C_API DDS_StatusMask DDS_Subscriber_get_status_changes ( DDS_Subscriber s );
02590 COREDX_C_API DDS_DataReader DDS_Subscriber_create_datareader ( DDS_Subscriber s,
02591 DDS_TopicDescription a_topic,
02592 DDS_DataReaderQos * qos,
02593 DDS_DataReaderListener* a_listener,
02594 DDS_StatusMask mask);
02604 COREDX_C_API DDS_ReturnCode_t DDS_Subscriber_delete_datareader ( DDS_Subscriber s,
02605 DDS_DataReader a_datareader);
02616 COREDX_C_API DDS_ReturnCode_t DDS_Subscriber_delete_contained_entities( DDS_Subscriber s );
02624 COREDX_C_API DDS_DataReader DDS_Subscriber_lookup_datareader( DDS_Subscriber s,
02625 const char * topic_name);
02642 COREDX_C_API DDS_ReturnCode_t DDS_Subscriber_get_datareaders( DDS_Subscriber s,
02643 DDS_DataReaderSeq * readers,
02644 DDS_SampleStateMask sample_states,
02645 DDS_ViewStateMask view_states,
02646 DDS_InstanceStateMask instance_states) ;
02652 COREDX_C_API DDS_ReturnCode_t DDS_Subscriber_notify_datareaders( DDS_Subscriber s );
02657 COREDX_C_API DDS_ReturnCode_t DDS_Subscriber_set_qos( DDS_Subscriber s,
02658 DDS_SubscriberQos * qos);
02671 COREDX_C_API DDS_ReturnCode_t DDS_Subscriber_get_qos( DDS_Subscriber s,
02672 DDS_SubscriberQos * qos);
02681 COREDX_C_API DDS_ReturnCode_t DDS_Subscriber_set_listener( DDS_Subscriber s,
02682 DDS_SubscriberListener * a_listener,
02683 DDS_StatusMask mask);
02692 COREDX_C_API DDS_ReturnCode_t DDS_Subscriber_set_listener_cd( DDS_Subscriber s,
02693 DDS_SubscriberListener_cd * listener_cd,
02694 DDS_StatusMask mask,
02695 void * callback_data);
02705 COREDX_C_API DDS_SubscriberListener *DDS_Subscriber_get_listener( DDS_Subscriber s );
02714 COREDX_C_API DDS_SubscriberListener_cd *DDS_Subscriber_get_listener_cd( DDS_Subscriber s );
02722 COREDX_C_API DDS_ReturnCode_t DDS_Subscriber_begin_access( DDS_Subscriber s );
02727 COREDX_C_API DDS_ReturnCode_t DDS_Subscriber_end_access( DDS_Subscriber s );
02736 COREDX_C_API DDS_ReturnCode_t DDS_Subscriber_set_default_datareader_qos( DDS_Subscriber s,
02737 const DDS_DataReaderQos * qos);
02742 COREDX_C_API DDS_ReturnCode_t DDS_Subscriber_get_default_datareader_qos( DDS_Subscriber s,
02743 DDS_DataReaderQos * qos);
02750 COREDX_C_API DDS_ReturnCode_t DDS_Subscriber_copy_from_topic_qos( DDS_Subscriber s,
02751 DDS_DataReaderQos * a_datareader_qos,
02752 DDS_TopicQos * a_topic_qos);
02753
02754
02755
02756
02757
02758
02759
02780 COREDX_C_API DDS_ReturnCode_t DDS_Publisher_enable ( DDS_Publisher p );
02781 COREDX_C_API unsigned char DDS_Publisher_is_enabled ( DDS_Publisher p );
02786 COREDX_C_API DDS_InstanceHandle_t DDS_Publisher_get_instance_handle( DDS_Publisher p );
02791 COREDX_C_API DDS_DomainParticipant DDS_Publisher_get_participant ( DDS_Publisher p );
02796 COREDX_C_API DDS_StatusCondition DDS_Publisher_get_statuscondition( DDS_Publisher p );
02805 COREDX_C_API DDS_StatusMask DDS_Publisher_get_status_changes ( DDS_Publisher p );
02819 COREDX_C_API DDS_DataWriter DDS_Publisher_create_datawriter ( DDS_Publisher p,
02820 DDS_Topic a_topic,
02821 const DDS_DataWriterQos * qos,
02822 DDS_DataWriterListener * a_listener,
02823 DDS_StatusMask mask);
02829 COREDX_C_API DDS_ReturnCode_t DDS_Publisher_delete_datawriter (DDS_Publisher p,
02830 DDS_DataWriter a_datawriter);
02837 COREDX_C_API DDS_DataWriter DDS_Publisher_lookup_datawriter(DDS_Publisher p,
02838 const char * topic_name);
02848 COREDX_C_API DDS_ReturnCode_t DDS_Publisher_delete_contained_entities(DDS_Publisher p );
02853 COREDX_C_API DDS_ReturnCode_t DDS_Publisher_set_qos( DDS_Publisher p,
02854 const DDS_PublisherQos * qos);
02868 COREDX_C_API DDS_ReturnCode_t DDS_Publisher_get_qos( DDS_Publisher p,
02869 DDS_PublisherQos * qos);
02878 COREDX_C_API DDS_ReturnCode_t DDS_Publisher_set_listener( DDS_Publisher p,
02879 DDS_PublisherListener * a_listener,
02880 DDS_StatusMask mask);
02889 COREDX_C_API DDS_ReturnCode_t DDS_Publisher_set_listener_cd( DDS_Publisher p,
02890 DDS_PublisherListener_cd * a_listener,
02891 DDS_StatusMask mask,
02892 void * callback_data);
02902 COREDX_C_API DDS_PublisherListener *DDS_Publisher_get_listener(DDS_Publisher p );
02911 COREDX_C_API DDS_PublisherListener_cd *DDS_Publisher_get_listener_cd(DDS_Publisher p );
02915 COREDX_C_API DDS_ReturnCode_t DDS_Publisher_suspend_publications(DDS_Publisher p );
02919 COREDX_C_API DDS_ReturnCode_t DDS_Publisher_resume_publications(DDS_Publisher p );
02923 COREDX_C_API DDS_ReturnCode_t DDS_Publisher_begin_coherent_changes(DDS_Publisher p );
02927 COREDX_C_API DDS_ReturnCode_t DDS_Publisher_end_coherent_changes(DDS_Publisher p );
02936 #define DDS_Publisher_wait_for_acknowledgements DDS_Publisher_wait_for_acknowledgments
02937 COREDX_C_API DDS_ReturnCode_t DDS_Publisher_wait_for_acknowledgments(DDS_Publisher p,
02938 const DDS_Duration_t * max_wait);
02947 COREDX_C_API DDS_ReturnCode_t DDS_Publisher_set_default_datawriter_qos(DDS_Publisher p,
02948 const DDS_DataWriterQos * qos);
02953 COREDX_C_API DDS_ReturnCode_t DDS_Publisher_get_default_datawriter_qos(DDS_Publisher p,
02954 struct DDS_DataWriterQos * qos);
02961 COREDX_C_API DDS_ReturnCode_t DDS_Publisher_copy_from_topic_qos(DDS_Publisher p,
02962 struct DDS_DataWriterQos * a_datawriter_qos,
02963 const DDS_TopicQos * a_topic_qos);
02964
02965
02966
02967
02968
02969
02980 COREDX_C_API const char * DDS_TopicDescription_get_type_name( DDS_TopicDescription td );
02985 COREDX_C_API const char * DDS_TopicDescription_get_name ( DDS_TopicDescription td );
02989 COREDX_C_API DDS_DomainParticipant DDS_TopicDescription_get_participant( DDS_TopicDescription td );
02990
02991
02992
02993
02994
02995
03010 COREDX_C_API DDS_TopicDescription DDS_Topic_TopicDescription(DDS_Topic t);
03014 COREDX_C_API const char * DDS_Topic_get_type_name( DDS_Topic t);
03018 COREDX_C_API const char * DDS_Topic_get_name( DDS_Topic t ) ;
03022 COREDX_C_API DDS_DomainParticipant DDS_Topic_get_participant( DDS_Topic t );
03037 COREDX_C_API DDS_ReturnCode_t DDS_Topic_enable( DDS_Topic t );
03038 COREDX_C_API unsigned char DDS_Topic_is_enabled( DDS_Topic t );
03043 COREDX_C_API DDS_InstanceHandle_t DDS_Topic_get_instance_handle(DDS_Topic t);
03048 COREDX_C_API DDS_StatusCondition DDS_Topic_get_statuscondition( DDS_Topic t );
03054 COREDX_C_API DDS_StatusMask DDS_Topic_get_status_changes( DDS_Topic t );
03059 COREDX_C_API DDS_ReturnCode_t DDS_Topic_set_qos( DDS_Topic t,
03060 const DDS_TopicQos * qos);
03072 COREDX_C_API DDS_ReturnCode_t DDS_Topic_get_qos( DDS_Topic t,
03073 DDS_TopicQos * qos);
03082 COREDX_C_API DDS_ReturnCode_t DDS_Topic_set_listener( DDS_Topic t,
03083 DDS_TopicListener * a_listener,
03084 DDS_StatusMask mask);
03093 COREDX_C_API DDS_ReturnCode_t DDS_Topic_set_listener_cd( DDS_Topic t,
03094 DDS_TopicListener_cd * a_listener,
03095 DDS_StatusMask mask,
03096 void * callback_data);
03106 COREDX_C_API DDS_TopicListener * DDS_Topic_get_listener( DDS_Topic t );
03115 COREDX_C_API DDS_TopicListener_cd * DDS_Topic_get_listener_cd( DDS_Topic t );
03120 COREDX_C_API DDS_ReturnCode_t DDS_Topic_get_inconsistent_topic_status ( DDS_Topic t,
03121 DDS_InconsistentTopicStatus * a_status);
03122
03123
03124
03125
03126
03127
03163 COREDX_C_API DDS_TopicDescription DDS_ContentFilteredTopic_TopicDescription(DDS_ContentFilteredTopic t);
03164 COREDX_C_API const char * DDS_ContentFilteredTopic_get_type_name( DDS_ContentFilteredTopic t);
03165 COREDX_C_API const char * DDS_ContentFilteredTopic_get_name( DDS_ContentFilteredTopic t );
03166 COREDX_C_API DDS_DomainParticipant DDS_ContentFilteredTopic_get_participant( DDS_Topic t );
03171 COREDX_C_API DDS_Topic DDS_ContentFilteredTopic_get_related_topic( DDS_ContentFilteredTopic t);
03176 COREDX_C_API DDS_ReturnCode_t DDS_ContentFilteredTopic_get_expression_parameters(DDS_ContentFilteredTopic t,
03177 DDS_StringSeq *parameters);
03188 COREDX_C_API DDS_ReturnCode_t DDS_ContentFilteredTopic_set_expression_parameters(DDS_ContentFilteredTopic t,
03189 const DDS_StringSeq *parameters);
03190
03191
03192
03193
03194
03195
03204 COREDX_C_API DDS_TopicDescription DDS_MultiTopic_TopicDescription(DDS_MultiTopic t);
03205 COREDX_C_API const char * DDS_MultiTopic_get_type_name( DDS_MultiTopic t);
03206 COREDX_C_API const char * DDS_MultiTopic_get_name( DDS_MultiTopic t );
03207 COREDX_C_API DDS_DomainParticipant DDS_MultiTopic_get_participant( DDS_Topic t );
03208 COREDX_C_API DDS_ReturnCode_t DDS_MultiTopic_get_expression_parameters(DDS_MultiTopic t,
03209 DDS_StringSeq *parameters);
03210 COREDX_C_API DDS_ReturnCode_t DDS_MultiTopic_set_expression_parameters(DDS_MultiTopic t,
03211 const DDS_StringSeq *parameters);
03212
03213
03214
03215
03216
03217
03239 COREDX_C_API DDS_ReturnCode_t DDS_DataWriter_enable ( DDS_DataWriter dw );
03240 COREDX_C_API unsigned char DDS_DataWriter_is_enabled ( DDS_DataWriter dw );
03245 COREDX_C_API DDS_InstanceHandle_t DDS_DataWriter_get_instance_handle( DDS_DataWriter dw );
03250 COREDX_C_API DDS_StatusCondition DDS_DataWriter_get_statuscondition( DDS_DataWriter dw );
03256 COREDX_C_API DDS_StatusMask DDS_DataWriter_get_status_changes ( DDS_DataWriter dw );
03261 COREDX_C_API DDS_ReturnCode_t DDS_DataWriter_set_qos(DDS_DataWriter dw,
03262 const DDS_DataWriterQos * qos);
03274 COREDX_C_API DDS_ReturnCode_t DDS_DataWriter_get_qos(DDS_DataWriter dw,
03275 DDS_DataWriterQos * qos);
03284 COREDX_C_API DDS_ReturnCode_t DDS_DataWriter_set_listener(DDS_DataWriter dw,
03285 DDS_DataWriterListener * a_listener,
03286 DDS_StatusMask mask);
03295 COREDX_C_API DDS_ReturnCode_t DDS_DataWriter_set_listener_cd(DDS_DataWriter dw,
03296 DDS_DataWriterListener_cd * a_listener,
03297 DDS_StatusMask mask,
03298 void * callback_data);
03308 COREDX_C_API DDS_DataWriterListener * DDS_DataWriter_get_listener(DDS_DataWriter dw);
03317 COREDX_C_API DDS_DataWriterListener_cd * DDS_DataWriter_get_listener_cd(DDS_DataWriter dw);
03326 #define DDS_DataWriter_wait_for_acknowledgements DDS_DataWriter_wait_for_acknowledgments
03327 COREDX_C_API DDS_ReturnCode_t DDS_DataWriter_wait_for_acknowledgments(DDS_DataWriter dw,
03328 const DDS_Duration_t * max_wait);
03333 COREDX_C_API DDS_Topic DDS_DataWriter_get_topic(DDS_DataWriter dw);
03338 COREDX_C_API DDS_Publisher DDS_DataWriter_get_publisher(DDS_DataWriter dw);
03348 COREDX_C_API DDS_ReturnCode_t DDS_DataWriter_assert_liveliness(DDS_DataWriter dw);
03356 COREDX_C_API DDS_ReturnCode_t DDS_DataWriter_get_matched_subscriptions(DDS_DataWriter dw,
03357 DDS_InstanceHandleSeq *subscription_handles);
03364 COREDX_C_API DDS_ReturnCode_t DDS_DataWriter_get_matched_subscription_data(DDS_DataWriter dw,
03365 DDS_SubscriptionBuiltinTopicData * subscription_data,
03366 const DDS_InstanceHandle_t subscription_handle);
03371 COREDX_C_API DDS_ReturnCode_t DDS_DataWriter_get_liveliness_lost_status ( DDS_DataWriter dw,
03372 DDS_LivelinessLostStatus *status);
03377 COREDX_C_API DDS_ReturnCode_t DDS_DataWriter_get_offered_deadline_missed_status ( DDS_DataWriter dw,
03378 DDS_OfferedDeadlineMissedStatus *status);
03383 COREDX_C_API DDS_ReturnCode_t DDS_DataWriter_get_offered_incompatible_qos_status ( DDS_DataWriter dw,
03384 DDS_OfferedIncompatibleQosStatus *status);
03389 COREDX_C_API DDS_ReturnCode_t DDS_DataWriter_get_publication_matched_status ( DDS_DataWriter dw,
03390 DDS_PublicationMatchedStatus *status);
03391
03392
03393
03394
03395
03396
03397
03398
03399
03400
03401
03409 COREDX_C_API DDS_ReturnCode_t DDS_DataWriter_get_key_value( DDS_DataWriter dw,
03410 void * key_holder,
03411 const DDS_InstanceHandle_t handle);
03416 COREDX_C_API DDS_InstanceHandle_t DDS_DataWriter_lookup_instance(DDS_DataWriter dw,
03417 const void * instance_data);
03423 COREDX_C_API DDS_InstanceHandle_t DDS_DataWriter_register_instance(DDS_DataWriter dw,
03424 const void * instance_data);
03425
03431 COREDX_C_API DDS_InstanceHandle_t DDS_DataWriter_register_instance_w_timestamp(DDS_DataWriter dw,
03432 const void * instance_data,
03433 const DDS_Time_t source_timestamp);
03434
03441 COREDX_C_API DDS_ReturnCode_t DDS_DataWriter_unregister_instance(DDS_DataWriter dw,
03442 const void * instance_data,
03443 const DDS_InstanceHandle_t handle);
03444
03451 COREDX_C_API DDS_ReturnCode_t DDS_DataWriter_unregister_instance_w_timestamp(DDS_DataWriter dw,
03452 const void * instance_data,
03453 DDS_InstanceHandle_t handle,
03454 const DDS_Time_t source_timestamp);
03467 COREDX_C_API DDS_ReturnCode_t DDS_DataWriter_write(DDS_DataWriter dw,
03468 const void * instance_data,
03469 const DDS_InstanceHandle_t handle);
03470
03483 COREDX_C_API DDS_ReturnCode_t DDS_DataWriter_write_w_timestamp(DDS_DataWriter dw,
03484 const void * instance_data,
03485 const DDS_InstanceHandle_t handle,
03486 const DDS_Time_t source_timestamp);
03487
03494 COREDX_C_API DDS_ReturnCode_t DDS_DataWriter_dispose(DDS_DataWriter dw,
03495 const void * instance_data,
03496 const DDS_InstanceHandle_t instance_handle);
03497
03504 COREDX_C_API DDS_ReturnCode_t DDS_DataWriter_dispose_w_timestamp(DDS_DataWriter dw,
03505 const void * instance_data,
03506 const DDS_InstanceHandle_t instance_handle,
03507 const DDS_Time_t source_timestamp);
03508
03509
03510
03511
03512
03513
03514
03515
03516
03538 COREDX_C_API DDS_ReturnCode_t DDS_DataReader_enable ( DDS_DataReader dr );
03539 COREDX_C_API unsigned char DDS_DataReader_is_enabled ( DDS_DataReader dr );
03544 COREDX_C_API DDS_InstanceHandle_t DDS_DataReader_get_instance_handle( DDS_DataReader dr );
03550 COREDX_C_API DDS_StatusMask DDS_DataReader_get_status_changes ( DDS_DataReader dr );
03559 COREDX_C_API DDS_ReturnCode_t DDS_DataReader_delete_contained_entities(DDS_DataReader dr );
03564 COREDX_C_API DDS_ReturnCode_t DDS_DataReader_set_qos (DDS_DataReader dr,
03565 const DDS_DataReaderQos * qos);
03577 COREDX_C_API DDS_ReturnCode_t DDS_DataReader_get_qos(DDS_DataReader dr,
03578 DDS_DataReaderQos * qos);
03587 COREDX_C_API DDS_ReturnCode_t DDS_DataReader_set_listener(DDS_DataReader dr,
03588 DDS_DataReaderListener * a_listener,
03589 DDS_StatusMask mask);
03598 COREDX_C_API DDS_ReturnCode_t DDS_DataReader_set_listener_cd(DDS_DataReader dr,
03599 DDS_DataReaderListener_cd * a_listener,
03600 DDS_StatusMask mask,
03601 void * callback_data);
03611 COREDX_C_API DDS_DataReaderListener * DDS_DataReader_get_listener(DDS_DataReader dr);
03620 COREDX_C_API DDS_DataReaderListener_cd * DDS_DataReader_get_listener_cd(DDS_DataReader dr);
03626 COREDX_C_API DDS_TopicDescription DDS_DataReader_get_topicdescription( DDS_DataReader dr );
03631 COREDX_C_API DDS_Subscriber DDS_DataReader_get_subscriber( DDS_DataReader dr );
03632
03637 COREDX_C_API DDS_ReturnCode_t DDS_DataReader_wait_for_historical_data( DDS_DataReader dr,
03638 const DDS_Duration_t * max_wait);
03643 COREDX_C_API DDS_StatusCondition DDS_DataReader_get_statuscondition( DDS_DataReader dr );
03650 COREDX_C_API DDS_ReadCondition DDS_DataReader_create_readcondition( DDS_DataReader dr,
03651 DDS_SampleStateMask sample_states,
03652 DDS_ViewStateMask view_states,
03653 DDS_InstanceStateMask instance_states);
03664 COREDX_C_API DDS_ReturnCode_t DDS_DataReader_delete_readcondition(DDS_DataReader dr,
03665 DDS_ReadCondition a_condition);
03698 COREDX_C_API DDS_QueryCondition DDS_DataReader_create_querycondition(DDS_DataReader dr,
03699 DDS_SampleStateMask sample_states,
03700 DDS_ViewStateMask view_states,
03701 DDS_InstanceStateMask instance_states,
03702 const char * query_expression,
03703 const DDS_StringSeq * query_parameters);
03704
03712 COREDX_C_API DDS_ReturnCode_t DDS_DataReader_get_matched_publications(DDS_DataReader dr,
03713 DDS_InstanceHandleSeq * publication_handles);
03720 COREDX_C_API DDS_ReturnCode_t DDS_DataReader_get_matched_publication_data( DDS_DataReader dr,
03721 DDS_PublicationBuiltinTopicData * publication_data,
03722 const DDS_InstanceHandle_t publication_handle);
03737 COREDX_C_API DDS_ReturnCode_t DDS_DataReader_return_loan(DDS_DataReader dr,
03738 DDS_PointerSeq * received_data,
03739 DDS_SampleInfoSeq * sample_infos);
03744 COREDX_C_API DDS_ReturnCode_t DDS_DataReader_get_sample_rejected_status(DDS_DataReader dr,
03745 DDS_SampleRejectedStatus *status );
03750 COREDX_C_API DDS_ReturnCode_t DDS_DataReader_get_liveliness_changed_status(DDS_DataReader dr,
03751 DDS_LivelinessChangedStatus *status);
03756 COREDX_C_API DDS_ReturnCode_t DDS_DataReader_get_requested_deadline_missed_status(DDS_DataReader dr,
03757 DDS_RequestedDeadlineMissedStatus *status);
03762 COREDX_C_API DDS_ReturnCode_t DDS_DataReader_get_requested_incompatible_qos_status(DDS_DataReader dr,
03763 DDS_RequestedIncompatibleQosStatus *status );
03768 COREDX_C_API DDS_ReturnCode_t DDS_DataReader_get_subscription_matched_status(DDS_DataReader dr,
03769 DDS_SubscriptionMatchedStatus *status );
03774 COREDX_C_API DDS_ReturnCode_t DDS_DataReader_get_sample_lost_status(DDS_DataReader dr,
03775 DDS_SampleLostStatus *status );
03776
03777
03778
03779
03780
03781
03782
03783
03784
03785
03786
03787
03795 COREDX_C_API DDS_ReturnCode_t DDS_DataReader_get_key_value(DDS_DataReader dr,
03796 void * key_holder,
03797 DDS_InstanceHandle_t handle);
03804 COREDX_C_API DDS_InstanceHandle_t DDS_DataReader_lookup_instance(DDS_DataReader dr,
03805 void * instance_data);
03846 COREDX_C_API DDS_ReturnCode_t DDS_DataReader_read(DDS_DataReader dr,
03847 DDS_PointerSeq * received_data,
03848 DDS_SampleInfoSeq * sample_infos,
03849 int max_samples,
03850 DDS_SampleStateMask sample_states,
03851 DDS_ViewStateMask view_states,
03852 DDS_InstanceStateMask instance_states);
03853
03854
03895 COREDX_C_API DDS_ReturnCode_t DDS_DataReader_take(DDS_DataReader dr,
03896 DDS_PointerSeq * received_data,
03897 DDS_SampleInfoSeq * sample_infos,
03898 int max_samples,
03899 DDS_SampleStateMask sample_states,
03900 DDS_ViewStateMask view_states,
03901 DDS_InstanceStateMask instance_states);
03902
03911 COREDX_C_API DDS_ReturnCode_t DDS_DataReader_read_w_condition(DDS_DataReader dr,
03912 DDS_PointerSeq * received_data,
03913 DDS_SampleInfoSeq * sample_infos,
03914 int max_samples,
03915 DDS_ReadCondition a_condition);
03916
03925 COREDX_C_API DDS_ReturnCode_t DDS_DataReader_take_w_condition(DDS_DataReader dr,
03926 DDS_PointerSeq * received_data,
03927 DDS_SampleInfoSeq * sample_infos,
03928 int max_samples,
03929 DDS_ReadCondition a_condition);
03930
03938 COREDX_C_API DDS_ReturnCode_t DDS_DataReader_read_next_sample(DDS_DataReader dr,
03939 void * received_data,
03940 DDS_SampleInfo * sample_info);
03941
03949 COREDX_C_API DDS_ReturnCode_t DDS_DataReader_take_next_sample(DDS_DataReader dr,
03950 void * received_data,
03951 DDS_SampleInfo * sample_info);
03952
03961 COREDX_C_API DDS_ReturnCode_t DDS_DataReader_read_instance(DDS_DataReader dr,
03962 DDS_PointerSeq * received_data,
03963 DDS_SampleInfoSeq * sample_infos,
03964 int max_samples,
03965 DDS_InstanceHandle_t a_handle,
03966 DDS_SampleStateMask sample_states,
03967 DDS_ViewStateMask view_states,
03968 DDS_InstanceStateMask instance_states);
03969
03970
03979 COREDX_C_API DDS_ReturnCode_t DDS_DataReader_take_instance(DDS_DataReader dr,
03980 DDS_PointerSeq * received_data,
03981 DDS_SampleInfoSeq * sample_infos,
03982 int max_samples,
03983 DDS_InstanceHandle_t a_handle,
03984 DDS_SampleStateMask sample_states,
03985 DDS_ViewStateMask view_states,
03986 DDS_InstanceStateMask instance_states);
03987
03996 COREDX_C_API DDS_ReturnCode_t DDS_DataReader_read_next_instance(DDS_DataReader dr,
03997 DDS_PointerSeq * received_data,
03998 DDS_SampleInfoSeq * sample_infos,
03999 int max_samples,
04000 DDS_InstanceHandle_t previous_handle,
04001 DDS_SampleStateMask sample_states,
04002 DDS_ViewStateMask view_states,
04003 DDS_InstanceStateMask instance_states);
04004
04013 COREDX_C_API DDS_ReturnCode_t DDS_DataReader_take_next_instance(DDS_DataReader dr,
04014 DDS_PointerSeq * received_data,
04015 DDS_SampleInfoSeq * sample_infos,
04016 int max_samples,
04017 DDS_InstanceHandle_t previous_handle,
04018 DDS_SampleStateMask sample_states,
04019 DDS_ViewStateMask view_states,
04020 DDS_InstanceStateMask instance_states);
04021
04030 COREDX_C_API DDS_ReturnCode_t DDS_DataReader_read_next_instance_w_condition(DDS_DataReader dr,
04031 DDS_PointerSeq * received_data,
04032 DDS_SampleInfoSeq * sample_infos,
04033 int max_samples,
04034 DDS_InstanceHandle_t previous_handle,
04035 DDS_ReadCondition a_condition);
04036
04045 COREDX_C_API DDS_ReturnCode_t DDS_DataReader_take_next_instance_w_condition(DDS_DataReader dr,
04046 DDS_PointerSeq * received_data,
04047 DDS_SampleInfoSeq * sample_infos,
04048 int max_samples,
04049 DDS_InstanceHandle_t previous_handle,
04050 DDS_ReadCondition a_condition);
04051
04052
04053
04054
04055
04056 COREDX_C_API const char * DDS_qos_policy_str(DDS_QosPolicyId_t policy);
04057 COREDX_C_API const char * DDS_error( DDS_ReturnCode_t retcode );
04058 COREDX_C_API const char * DDS_sample_state( DDS_SampleStateMask sm );
04059 COREDX_C_API const char * DDS_view_state ( DDS_ViewStateMask vm );
04060 COREDX_C_API const char * DDS_instance_state (DDS_InstanceStateMask im );
04061
04075 COREDX_C_API DDS_ReturnCode_t CoreDX_DDS_heap_init(void * heap_ptr, unsigned int size);
04076
04077
04078
04079
04080
04081 COREDX_C_API void * CoreDX_DDS_malloc(unsigned int size);
04082 COREDX_C_API void * CoreDX_DDS_calloc(unsigned int nmemb, unsigned int size);
04083 COREDX_C_API void CoreDX_DDS_free(void * ptr);
04084
04085
04086 COREDX_C_API void DDS_BuiltinTopicKey_t_copy(DDS_BuiltinTopicKey_t * to, DDS_BuiltinTopicKey_t * from);
04087 COREDX_C_API void DDS_UserDataQosPolicy_copy(DDS_UserDataQosPolicy * to, DDS_UserDataQosPolicy * from);
04088 COREDX_C_API void DDS_TopicDataQosPolicy_copy(DDS_TopicDataQosPolicy * to, DDS_TopicDataQosPolicy * from);
04089 COREDX_C_API void DDS_GroupDataQosPolicy_copy(DDS_GroupDataQosPolicy * to, DDS_GroupDataQosPolicy * from );
04090 COREDX_C_API void DDS_TransportPriorityQosPolicy_copy(DDS_TransportPriorityQosPolicy * to, DDS_TransportPriorityQosPolicy * from);
04091 COREDX_C_API void DDS_LifespanQosPolicy_copy(DDS_LifespanQosPolicy * to, DDS_LifespanQosPolicy * from );
04092 COREDX_C_API void DDS_DurabilityQosPolicy_copy(DDS_DurabilityQosPolicy * to, DDS_DurabilityQosPolicy * from);
04093 COREDX_C_API void DDS_PresentationQosPolicy_copy(DDS_PresentationQosPolicy * to, DDS_PresentationQosPolicy * from);
04094 COREDX_C_API void DDS_DeadlineQosPolicy_copy(DDS_DeadlineQosPolicy * to, DDS_DeadlineQosPolicy * from);
04095 COREDX_C_API void DDS_LatencyBudgetQosPolicy_copy(DDS_LatencyBudgetQosPolicy * to, DDS_LatencyBudgetQosPolicy * from);
04096 COREDX_C_API void DDS_OwnershipQosPolicy_copy(DDS_OwnershipQosPolicy * to, DDS_OwnershipQosPolicy * from);
04097 COREDX_C_API void DDS_OwnershipStrengthQosPolicy_copy(DDS_OwnershipStrengthQosPolicy *to, DDS_OwnershipStrengthQosPolicy * from);
04098 COREDX_C_API void DDS_LivelinessQosPolicy_copy(DDS_LivelinessQosPolicy * to, DDS_LivelinessQosPolicy * from);
04099 COREDX_C_API void DDS_TimeBasedFilterQosPolicy_copy(DDS_TimeBasedFilterQosPolicy * to, DDS_TimeBasedFilterQosPolicy * from);
04100 COREDX_C_API void DDS_PartitionQosPolicy_copy(DDS_PartitionQosPolicy * to, DDS_PartitionQosPolicy * from );
04101 COREDX_C_API void DDS_ReliabilityQosPolicy_copy(DDS_ReliabilityQosPolicy * to, DDS_ReliabilityQosPolicy * from);
04102 COREDX_C_API void DDS_DestinationOrderQosPolicy_copy(DDS_DestinationOrderQosPolicy * to, DDS_DestinationOrderQosPolicy * from);
04103 COREDX_C_API void DDS_HistoryQosPolicy_copy(DDS_HistoryQosPolicy * to, DDS_HistoryQosPolicy * from);
04104 COREDX_C_API void DDS_ResourceLimitsQosPolicy_copy(DDS_ResourceLimitsQosPolicy * to, DDS_ResourceLimitsQosPolicy * from);
04105 COREDX_C_API void DDS_EntityFactoryQosPolicy_copy(DDS_EntityFactoryQosPolicy * to, DDS_EntityFactoryQosPolicy * from );
04106 COREDX_C_API void DDS_WriterDataLifecycleQosPolicy_copy(DDS_WriterDataLifecycleQosPolicy * to, DDS_WriterDataLifecycleQosPolicy * from );
04107 COREDX_C_API void DDS_ReaderDataLifecycleQosPolicy_copy(DDS_ReaderDataLifecycleQosPolicy * to, DDS_ReaderDataLifecycleQosPolicy * from);
04108 COREDX_C_API void DDS_DurabilityServiceQosPolicy_copy(DDS_DurabilityServiceQosPolicy * to, DDS_DurabilityServiceQosPolicy * from);
04109 COREDX_C_API void DDS_TypecodeQosPolicy_copy( DDS_TypecodeQosPolicy * to, DDS_TypecodeQosPolicy * from );
04110
04111 COREDX_C_API void DDS_UserDataQosPolicy_init( DDS_UserDataQosPolicy * p );
04112 COREDX_C_API void DDS_UserDataQosPolicy_clear( DDS_UserDataQosPolicy * p );
04113 COREDX_C_API void DDS_GroupDataQosPolicy_init( DDS_GroupDataQosPolicy * p );
04114 COREDX_C_API void DDS_GroupDataQosPolicy_clear( DDS_GroupDataQosPolicy * p );
04115 COREDX_C_API void DDS_TopicDataQosPolicy_init( DDS_TopicDataQosPolicy * p );
04116 COREDX_C_API void DDS_TopicDataQosPolicy_clear( DDS_TopicDataQosPolicy * p );
04117 COREDX_C_API void DDS_PartitionQosPolicy_init( DDS_PartitionQosPolicy * p );
04118 COREDX_C_API void DDS_PartitionQosPolicy_clear( DDS_PartitionQosPolicy * p );
04119 COREDX_C_API void DDS_TypecodeQosPolicy_init( DDS_TypecodeQosPolicy * p );
04120 COREDX_C_API void DDS_TypecodeQosPolicy_clear( DDS_TypecodeQosPolicy * p );
04121 COREDX_C_API void DDS_DomainParticipantQos_init(DDS_DomainParticipantQos * qos);
04122 COREDX_C_API void DDS_TopicQos_init(DDS_TopicQos * qos);
04123 COREDX_C_API void DDS_SubscriberQos_init(DDS_SubscriberQos * qos);
04124 COREDX_C_API void DDS_PublisherQos_init(DDS_PublisherQos * qos);
04125 COREDX_C_API void DDS_DataWriterQos_init(DDS_DataWriterQos * qos);
04126 COREDX_C_API void DDS_DataReaderQos_init(DDS_DataReaderQos * qos);
04127
04128 #include <dds/coredx_version.h>
04129
04130 #ifdef __cplusplus
04131 };
04132 #endif
04133
04134
04135 #endif