OpenDDS  Snapshot(2023/04/28-20:55)
DdsDcpsSubscription.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_DDSDCPSSUBSCRIPTION_IDL
9 #define OPENDDS_DDSDCPSSUBSCRIPTION_IDL
10 
13 
14 #pragma ciao lem "dds/DdsDcpsSubscriptionE.idl"
15 
16 module DDS {
17  local interface TopicDescription;
18  local interface DomainParticipant;
19  local interface DataReader;
20  local interface Subscriber;
21 
22  local interface DataReaderListener : Listener {
23  void on_requested_deadline_missed(
24  in DataReader reader,
26 
27  void on_requested_incompatible_qos(
28  in DataReader reader,
30 
31  void on_sample_rejected(
32  in DataReader reader,
33  in SampleRejectedStatus status);
34 
35  void on_liveliness_changed(
36  in DataReader reader,
37  in LivelinessChangedStatus status);
38 
39  void on_data_available(
40  in DataReader reader);
41 
42  void on_subscription_matched(
43  in DataReader reader,
44  in SubscriptionMatchedStatus status);
45 
46  void on_sample_lost(
47  in DataReader reader,
48  in SampleLostStatus status);
49  };
50 
52  void on_data_on_readers(
53  in Subscriber subs);
54  };
55 
56 
57  local interface ReadCondition : Condition {
58  SampleStateMask get_sample_state_mask();
59  ViewStateMask get_view_state_mask();
60  InstanceStateMask get_instance_state_mask();
61  DataReader get_datareader();
62  };
63 
64 
65 #ifndef OPENDDS_NO_QUERY_CONDITION
66  local interface QueryCondition : ReadCondition {
67  string get_query_expression();
68  ReturnCode_t get_query_parameters(
69  inout StringSeq query_parameters);
70  ReturnCode_t set_query_parameters(
71  in StringSeq query_parameters);
72  };
73 #endif
74 
75  local interface DataReader : Entity {
76  // ReturnCode_t read(
77  // inout DataSeq received_data,
78  // inout SampleInfoSeq info_seq,
79  // in long max_samples,
80  // in SampleStateMask sample_states,
81  // in ViewStateMask view_states,
82  // in InstanceStateMask instance_states);
83  // ReturnCode_t take(
84  // inout DataSeq received_data,
85  // inout SampleInfoSeq info_seq,
86  // in long max_samples,
87  // in SampleStateMask sample_states,
88  // in ViewStateMask view_states,
89  // in InstanceStateMask instance_states);
90  // ReturnCode_t read_w_condition(
91  // inout DataSeq received_data,
92  // inout SampleInfoSeq info_seq,
93  // in long max_samples,
94  // in ReadCondition a_condition);
95  // ReturnCode_t take_w_condition(
96  // inout DataSeq received_data,
97  // inout SampleInfoSeq info_seq,
98  // in long max_samples,
99  // in ReadCondition a_condition);
100  // ReturnCode_t read_next_sample(
101  // inout Data received_data,
102  // inout SampleInfo sample_info);
103  // ReturnCode_t take_next_sample(
104  // inout Data received_data,
105  // inout SampleInfo sample_info);
106  // ReturnCode_t read_instance(
107  // inout DataSeq received_data,
108  // inout SampleInfoSeq info_seq,
109  // in long max_samples,
110  // in InstanceHandle_t a_handle,
111  // in SampleStateMask sample_states,
112  // in ViewStateMask view_states,
113  // in InstanceStateMask instance_states);
114  // ReturnCode_t take_instance(
115  // inout DataSeq received_data,
116  // inout SampleInfoSeq info_seq,
117  // in long max_samples,
118  // in InstanceHandle_t a_handle,
119  // in SampleStateMask sample_states,
120  // in ViewStateMask view_states,
121  // in InstanceStateMask instance_states);
122  // ReturnCode_t read_next_instance(
123  // inout DataSeq received_data,
124  // inout SampleInfoSeq info_seq,
125  // in long max_samples,
126  // in InstanceHandle_t a_handle,
127  // in SampleStateMask sample_states,
128  // in ViewStateMask view_states,
129  // in InstanceStateMask instance_states);
130  // ReturnCode_t take_next_instance(
131  // inout DataSeq received_data,
132  // inout SampleInfoSeq info_seq,
133  // in long max_samples,
134  // in InstanceHandle_t a_handle,
135  // in SampleStateMask sample_states,
136  // in ViewStateMask view_states,
137  // in InstanceStateMask instance_states);
138  // ReturnCode_t read_next_instance_w_condition(
139  // inout DataSeq received_data,
140  // inout SampleInfoSeq info_seq,
141  // in long max_samples,
142  // in InstanceHandle_t a_handle,
143  // in ReadCondition a_condition);
144  // ReturnCode_t take_next_instance_w_condition(
145  // inout DataSeq received_data,
146  // inout SampleInfoSeq info_seq,
147  // in long max_samples,
148  // in InstanceHandle_t a_handle,
149  // in ReadCondition a_condition);
150  // ReturnCode_t return_loan(
151  // inout DataSeq received_data,
152  // inout SampleInfoSeq info_seq);
153  // ReturnCode_t get_key_value(
154  // inout Data key_holder,
155  // in InstanceHandle_t handle);
156 
157  // InstanceHandle_t lookup_instance(
158  // in Data instance_data);
159  ReadCondition create_readcondition(
163 
164 #ifndef OPENDDS_NO_QUERY_CONDITION
165  QueryCondition create_querycondition(
166  in SampleStateMask sample_states,
167  in ViewStateMask view_states,
168  in InstanceStateMask instance_states,
169  in string query_expression,
170  in StringSeq query_parameters);
171 #endif
172 
173  ReturnCode_t delete_readcondition(
174  in ReadCondition a_condition);
175 
176  ReturnCode_t delete_contained_entities();
177 
178  ReturnCode_t set_qos(
179  in DataReaderQos qos);
180 
181  ReturnCode_t get_qos(inout DataReaderQos qos);
182 
183  ReturnCode_t set_listener(
184  in DataReaderListener a_listener,
185  in StatusMask mask);
186 
187  DataReaderListener get_listener();
188 
189  TopicDescription get_topicdescription();
190 
191  Subscriber get_subscriber();
192 
193  ReturnCode_t get_sample_rejected_status(
194  inout SampleRejectedStatus status);
195  ReturnCode_t get_liveliness_changed_status(
196  inout LivelinessChangedStatus status);
197  ReturnCode_t get_requested_deadline_missed_status(
198  inout RequestedDeadlineMissedStatus status);
199  ReturnCode_t get_requested_incompatible_qos_status(
200  inout RequestedIncompatibleQosStatus status);
201  ReturnCode_t get_subscription_matched_status(
202  inout SubscriptionMatchedStatus status);
203  ReturnCode_t get_sample_lost_status(
204  inout SampleLostStatus status);
205 
206  ReturnCode_t wait_for_historical_data(
207  in Duration_t max_wait);
208 
209  ReturnCode_t get_matched_publications(
210  inout InstanceHandleSeq publication_handles);
211 
212 #if !defined (DDS_HAS_MINIMUM_BIT)
213  ReturnCode_t get_matched_publication_data(
214  inout PublicationBuiltinTopicData publication_data,
215  in InstanceHandle_t publication_handle);
216 #endif // !defined (DDS_HAS_MINIMUM_BIT)
217 
218  };
219 
220  // ----------------------------------------------------------------------
221  local interface Subscriber : Entity {
222  DataReader create_datareader(
223  in TopicDescription a_topic,
224  in DataReaderQos qos,
225  in DataReaderListener a_listener,
226  in StatusMask mask);
227 
228  ReturnCode_t delete_datareader(
229  in DataReader a_datareader);
230 
231  ReturnCode_t delete_contained_entities();
232 
233  DataReader lookup_datareader(
234  in string topic_name);
235 
236  ReturnCode_t get_datareaders(
237  inout DataReaderSeq readers,
241 
242  ReturnCode_t notify_datareaders();
243 
244  ReturnCode_t set_qos(
245  in SubscriberQos qos);
246 
247  ReturnCode_t get_qos(
248  inout SubscriberQos qos);
249 
250  ReturnCode_t set_listener(
251  in SubscriberListener a_listener,
252  in StatusMask mask);
253 
254  SubscriberListener get_listener();
255 
256 #ifndef OPENDDS_NO_OBJECT_MODEL_PROFILE
257 
258  ReturnCode_t begin_access();
259 
260  ReturnCode_t end_access();
261 
262 #endif
263 
264  DomainParticipant get_participant();
265 
266  ReturnCode_t set_default_datareader_qos(
267  in DataReaderQos qos);
268 
269  ReturnCode_t get_default_datareader_qos(inout DataReaderQos qos);
270 
271  ReturnCode_t copy_from_topic_qos(
272  inout DataReaderQos a_datareader_qos,
273  in TopicQos a_topic_qos);
274  };
275 
276 };
277 
278 #endif /* OPENDDS_DCPS_SUBSCRIPTION_IDL */
local interface<%TYPE%> inout ::DDS::SampleInfoSeq in long in ::DDS::SampleStateMask sample_states
Definition: IDLTemplate.txt:72
sequence< InstanceHandle_t > InstanceHandleSeq
Definition: DdsDcpsCore.idl:53
local interface<%TYPE%> inout ::DDS::SampleInfoSeq in long in ::DDS::SampleStateMask in ::DDS::ViewStateMask in ::DDS::InstanceStateMask instance_states
Definition: IDLTemplate.txt:72
local interface<%TYPE%> DataReader
Definition: IDLTemplate.txt:72
unsigned long InstanceStateMask
local interface<%TYPE%> inout ::DDS::SampleInfoSeq in long in ::DDS::SampleStateMask in ::DDS::ViewStateMask view_states
Definition: IDLTemplate.txt:72
The End User API.
unsigned long SampleStateMask
HANDLE_TYPE_NATIVE InstanceHandle_t
Definition: DdsDcpsCore.idl:51
unsigned long StatusMask
sequence< DataReader > DataReaderSeq
unsigned long ViewStateMask
sequence< string > StringSeq
Definition: DdsDcpsCore.idl:50