9#ifndef clouddiscoveryservice_builtin_h
10#define clouddiscoveryservice_builtin_h
14 #include "clouddiscoveryservice/clouddiscoveryservice_dll.h"
19 #include "dds_c/dds_c_domain.h"
23 #include "disc/disc_builtin.h"
32 CDS_DISCOVERY_PROTOCOL_MODE_SPDP,
33 CDS_DISCOVERY_PROTOCOL_MODE_SPDP2,
34 CDS_DISCOVERY_PROTOCOL_MODE_INVALID
35} CDSDiscoveryProtocolMode;
38typedef struct CDSParticipantDiscoveryImpl CDSParticipantDiscovery;
41typedef struct CDSParticipantDetectorImpl CDSParticipantDetector;
44typedef struct CDSParticipantAnnouncerImpl CDSParticipantAnnouncer;
46extern CDSDllExport
int CDSParticipantDiscovery_get_unicast_port_for_domain(
47 DDS_DomainId_t domain_id,
48 const struct DDS_WireProtocolQosPolicy *wire_protocol);
50extern CDSDllExport CDSParticipantDiscovery *CDSParticipantDiscovery_new(
51 DDS_DomainParticipantFactory *factory,
52 const struct DDS_DomainParticipantQos *participant_qos,
53 CDSDiscoveryProtocolMode protocolMode);
55extern CDSDllExport
void CDSParticipantDiscovery_delete(
56 CDSParticipantDiscovery *self);
58extern CDSDllExport CDSParticipantDetector *
59CDSParticipantDiscovery_assert_detector(
60 CDSParticipantDiscovery *self,
61 struct PRESPsReaderListener *listener);
63extern CDSDllExport CDSParticipantAnnouncer *
64CDSParticipantDiscovery_assert_announcer(
65 CDSParticipantDiscovery *participantDiscovery);
67extern CDSDllExport
void CDSParticipantDiscovery_delete_announcer(
68 CDSParticipantDiscovery *participantDiscovery);
70extern CDSDllExport
void CDSParticipantDiscovery_delete_detector(
71 CDSParticipantDiscovery *participantDiscovery);
77extern CDSDllExport DDS_Boolean CDSParticipantDetector_take(
78 CDSParticipantDetector *self,
79 struct DISCBuiltinTopicParticipantData ***participant_data_seq,
80 struct DDS_SampleInfo ***info_seq,
87extern CDSDllExport
void CDSParticipantDetector_return_loan(
88 CDSParticipantDetector *self,
89 struct DISCBuiltinTopicParticipantData **participant_data_seq,
90 struct DDS_SampleInfo **info_seq,
99extern CDSDllExport DDS_Boolean CDSParticipantAnnouncer_set_destinations(
100 CDSParticipantAnnouncer *self,
101 const struct PRESLocatorQosPolicy *locatorQos);
107extern CDSDllExport DDS_Boolean CDSParticipantAnnouncer_write(
108 CDSParticipantAnnouncer *self,
109 struct DISCBuiltinTopicParticipantData *participant_data);
115extern CDSDllExport DDS_Boolean CDSParticipantAnnouncer_dispose(
116 CDSParticipantAnnouncer *self,
117 const DDS_InstanceHandle_t *participant_handle);
Implements the RTI Cloud Discovery Service.