RTI Cloud Discovery Service Version 7.7.0
clouddiscoveryservice_builtin.h
1/*
2 * Copyright (c) 2016-2025 Real-Time Innovations, Inc. All rights reserved.
3 * No duplications, whole or partial, manual or electronic, may be made
4 * without express written permission. Any such copies, or revisions thereof,
5 * must display this notice unaltered.
6 * This code contains trade secrets of Real-Time Innovations, Inc.
7 */
8
9#ifndef clouddiscoveryservice_builtin_h
10#define clouddiscoveryservice_builtin_h
11
12
13#ifndef cds_dll_h
14 #include "clouddiscoveryservice/clouddiscoveryservice_dll.h"
16#endif
17
18#ifndef dds_c_domain_h
19 #include "dds_c/dds_c_domain.h"
20#endif
21
22#ifndef disc_builtin_h
23 #include "disc/disc_builtin.h"
24#endif
25
26#ifdef __cplusplus
27extern "C" {
28#endif
29
30
31typedef enum {
32 CDS_DISCOVERY_PROTOCOL_MODE_SPDP,
33 CDS_DISCOVERY_PROTOCOL_MODE_SPDP2,
34 CDS_DISCOVERY_PROTOCOL_MODE_INVALID
35} CDSDiscoveryProtocolMode;
36
37
38typedef struct CDSParticipantDiscoveryImpl CDSParticipantDiscovery;
39
40
41typedef struct CDSParticipantDetectorImpl CDSParticipantDetector;
42
43
44typedef struct CDSParticipantAnnouncerImpl CDSParticipantAnnouncer;
45
46extern CDSDllExport int CDSParticipantDiscovery_get_unicast_port_for_domain(
47 DDS_DomainId_t domain_id,
48 const struct DDS_WireProtocolQosPolicy *wire_protocol);
49
50extern CDSDllExport CDSParticipantDiscovery *CDSParticipantDiscovery_new(
51 DDS_DomainParticipantFactory *factory,
52 const struct DDS_DomainParticipantQos *participant_qos,
53 CDSDiscoveryProtocolMode protocolMode);
54
55extern CDSDllExport void CDSParticipantDiscovery_delete(
56 CDSParticipantDiscovery *self);
57
58extern CDSDllExport CDSParticipantDetector *
59CDSParticipantDiscovery_assert_detector(
60 CDSParticipantDiscovery *self,
61 struct PRESPsReaderListener *listener);
62
63extern CDSDllExport CDSParticipantAnnouncer *
64CDSParticipantDiscovery_assert_announcer(
65 CDSParticipantDiscovery *participantDiscovery);
66
67extern CDSDllExport void CDSParticipantDiscovery_delete_announcer(
68 CDSParticipantDiscovery *participantDiscovery);
69
70extern CDSDllExport void CDSParticipantDiscovery_delete_detector(
71 CDSParticipantDiscovery *participantDiscovery);
72
77extern CDSDllExport DDS_Boolean CDSParticipantDetector_take(
78 CDSParticipantDetector *self,
79 struct DISCBuiltinTopicParticipantData ***participant_data_seq,
80 struct DDS_SampleInfo ***info_seq,
81 int *count);
82
87extern CDSDllExport void CDSParticipantDetector_return_loan(
88 CDSParticipantDetector *self,
89 struct DISCBuiltinTopicParticipantData **participant_data_seq,
90 struct DDS_SampleInfo **info_seq,
91 int count);
92
99extern CDSDllExport DDS_Boolean CDSParticipantAnnouncer_set_destinations(
100 CDSParticipantAnnouncer *self,
101 const struct PRESLocatorQosPolicy *locatorQos);
102
107extern CDSDllExport DDS_Boolean CDSParticipantAnnouncer_write(
108 CDSParticipantAnnouncer *self,
109 struct DISCBuiltinTopicParticipantData *participant_data);
110
115extern CDSDllExport DDS_Boolean CDSParticipantAnnouncer_dispose(
116 CDSParticipantAnnouncer *self,
117 const DDS_InstanceHandle_t *participant_handle);
118
119
120#ifdef __cplusplus
121} /* extern "C" */
122#endif
123
124#endif /* clouddiscoveryservice_builtin_h */
Implements the RTI Cloud Discovery Service.