OpenDDS  Snapshot(2023/04/28-20:55)
DdsDcpsDomain.idl
Go to the documentation of this file.
1 /*
2  *
3  *
4  * Distributed under the OpenDDS License.
5  * See: http://www.opendds.org/license.html
6  */
7 
8 #ifndef OPENDDS_DDSDCPSDOMAIN_IDL
9 #define OPENDDS_DDSDCPSDOMAIN_IDL
10 
12 #include <dds/DdsDcpsTopic.idl>
15 
16 #pragma ciao lem "dds/DdsDcpsDomainE.idl"
17 
18 module DDS
19 {
23  {
24  };
25 
26  // ----------------------------------------------------------------------
27  local interface DomainParticipant : Entity
28  {
29  // Factory interfaces
30  Publisher create_publisher(in PublisherQos qos,
31  in PublisherListener a_listener,
32  in StatusMask mask);
33 
34  ReturnCode_t delete_publisher(in Publisher p);
35 
36  Subscriber create_subscriber(in SubscriberQos qos,
37  in SubscriberListener a_listener,
38  in StatusMask mask);
39 
40  ReturnCode_t delete_subscriber(in Subscriber s);
41 
42  Subscriber get_builtin_subscriber();
43 
44  // Note:
45  // If the create_topic and find_topic are called multiple times
46  // then the delete_topic has to be called the same number of
47  // times.
48  Topic create_topic(in string topic_name,
49  in string type_name,
50  in TopicQos qos,
51  in TopicListener a_listener,
52  in StatusMask mask);
53 
54  ReturnCode_t delete_topic(in Topic a_topic);
55 
56  Topic find_topic(in string topic_name,
57  in Duration_t timeout);
58 
59  // Note:
60  // Do not call delete_topic for lookup_topicdescription since
61  // topic is not duplicated.
62  TopicDescription lookup_topicdescription(in string name);
63 
64 
65 #ifndef OPENDDS_NO_CONTENT_FILTERED_TOPIC
66 
67  ContentFilteredTopic create_contentfilteredtopic(
68  in string name,
69  in Topic related_topic,
70  in string filter_expression,
71  in StringSeq expression_parameters);
72 
73  ReturnCode_t delete_contentfilteredtopic(
74  in ContentFilteredTopic a_contentfilteredtopic);
75 
76 #endif
77 
78 #ifndef OPENDDS_NO_MULTI_TOPIC
79 
80  MultiTopic create_multitopic(
81  in string name,
82  in string type_name,
83  in string subscription_expression,
84  in StringSeq expression_parameters);
85 
86  ReturnCode_t delete_multitopic(in MultiTopic a_multitopic);
87 
88 #endif
89 
90 
91  ReturnCode_t delete_contained_entities();
92 
93  boolean contains_entity(in InstanceHandle_t a_handle);
94 
95  ReturnCode_t set_qos(in DomainParticipantQos qos);
96 
97  ReturnCode_t get_qos(inout DomainParticipantQos qos);
98 
99  ReturnCode_t set_listener(in DomainParticipantListener a_listener,
100  in StatusMask mask);
101 
102  DomainParticipantListener get_listener();
103 
104  ReturnCode_t ignore_participant(in InstanceHandle_t handle);
105 
106  ReturnCode_t ignore_topic(in InstanceHandle_t handle);
107 
108  ReturnCode_t ignore_publication(in InstanceHandle_t handle);
109 
110  ReturnCode_t ignore_subscription(in InstanceHandle_t handle);
111 
112  DomainId_t get_domain_id();
113 
114  ReturnCode_t assert_liveliness();
115 
116  ReturnCode_t set_default_publisher_qos(in PublisherQos qos);
117 
118  ReturnCode_t get_default_publisher_qos(inout PublisherQos qos);
119 
120  ReturnCode_t set_default_subscriber_qos(in SubscriberQos qos);
121 
122  ReturnCode_t get_default_subscriber_qos(inout SubscriberQos qos);
123 
124  ReturnCode_t set_default_topic_qos(in TopicQos qos);
125 
126  ReturnCode_t get_default_topic_qos(inout TopicQos qos);
127 
128  ReturnCode_t get_current_time( inout Time_t current_time);
129 
130 #if !defined (DDS_HAS_MINIMUM_BIT)
131 
132  ReturnCode_t get_discovered_participants(
133  inout InstanceHandleSeq participant_handles);
134 
135  ReturnCode_t get_discovered_participant_data(
136  inout ParticipantBuiltinTopicData participant_data,
137  in InstanceHandle_t participant_handle);
138 
139  ReturnCode_t get_discovered_topics(
140  inout InstanceHandleSeq topic_handles);
141 
142  ReturnCode_t get_discovered_topic_data(
143  inout TopicBuiltinTopicData topic_data,
144  in InstanceHandle_t topic_handle);
145 
146 #endif
147 
148  };
149 
150  local interface DomainParticipantFactory
151  {
152  // Note:
153  // The caller will NOT have ownership of the DomainParticipant.
154  // To destroy the object, the caller has to call delete_participant.
155  // The domain participant defaults to not enabled.
156  // The caller has to enable it after the domain participant is created.
157  DomainParticipant create_participant(in DomainId_t domainId,
158  in DomainParticipantQos qos,
159  in DomainParticipantListener a_listener,
160  in StatusMask mask);
161 
162  ReturnCode_t delete_participant(in DomainParticipant a_participant);
163 
164  DomainParticipant lookup_participant(in DomainId_t domainId);
165 
166  ReturnCode_t set_default_participant_qos(in DomainParticipantQos qos);
167 
168  ReturnCode_t get_default_participant_qos(inout DomainParticipantQos qos);
169 
170  DomainParticipantFactory get_instance();
171 
172  ReturnCode_t set_qos(
174 
175  ReturnCode_t get_qos(
176  inout DomainParticipantFactoryQos qos);
177  };
178 };
179 
180 #endif /* OPENDDS_DCPS_DOMAIN_IDL */
sequence< InstanceHandle_t > InstanceHandleSeq
Definition: DdsDcpsCore.idl:53
DOMAINID_TYPE_NATIVE DomainId_t
The End User API.
const char *const name
Definition: debug.cpp:60
HANDLE_TYPE_NATIVE InstanceHandle_t
Definition: DdsDcpsCore.idl:51
unsigned long StatusMask
sequence< string > StringSeq
Definition: DdsDcpsCore.idl:50