OpenDDS  Snapshot(2023/04/28-20:55)
DdsDcpsPublication.idl
Go to the documentation of this file.
1 /*
2  * Distributed under the OpenDDS License.
3  * See: http://www.opendds.org/license.html
4  */
5 
6 #ifndef OPENDDS_DDSDCPSPUBLICATION_IDL
7 #define OPENDDS_DDSDCPSPUBLICATION_IDL
8 
10 
11 #pragma ciao lem "dds/DdsDcpsPublicationE.idl"
12 
13 module DDS {
14  local interface Topic;
15  local interface DomainParticipant;
16  local interface DataWriter;
17  local interface Publisher;
18 
19  local interface DataWriterListener : Listener {
20  void on_offered_deadline_missed(
21  in DataWriter writer,
22  in OfferedDeadlineMissedStatus status);
23 
24  void on_offered_incompatible_qos(
25  in DataWriter writer,
27 
28  void on_liveliness_lost(
29  in DataWriter writer,
30  in LivelinessLostStatus status);
31 
32  void on_publication_matched(
33  in DataWriter writer,
34  in PublicationMatchedStatus status);
35  };
36 
38  };
39 
40  local interface DataWriter : Entity {
41  // InstanceHandle_t register_instance(
42  // in Data instance);
43  // InstanceHandle_t register_instance_w_timestamp(
44  // in Data instance,
45  // in Time_t timestamp);
46  // ReturnCode_t unregister_instance(
47  // in Data instance,
48  // in InstanceHandle_t handle);
49  // ReturnCode_t unregister_instance_w_timestamp(
50  // in Data instance,
51  // in InstanceHandle_t handle,
52  // in Time_t timestamp);
53  // ReturnCode_t write(
54  // in Data instance_data,
55  // in InstanceHandle_t handle);
56  // ReturnCode_t write_w_timestamp(
57  // in Data instance_data,
58  // in InstanceHandle_t handle,
59  // in Time_t source_timestamp);
60  // ReturnCode_t dispose(
61  // in Data instance_data,
62  // in InstanceHandle_t instance_handle);
63  // ReturnCode_t dispose_w_timestamp(
64  // in Data instance_data,
65  // in InstanceHandle_t instance_handle,
66  // in Time_t source_timestamp);
67  // ReturnCode_t get_key_value(
68  // inout Data key_holder,
69  // in InstanceHandle_t handle);
70  // InstanceHandle_t lookup_instance(
71  // in Data instance_data);
72 
73  ReturnCode_t set_qos(
74  in DataWriterQos qos);
75 
76  ReturnCode_t get_qos(inout DataWriterQos qos);
77 
78  ReturnCode_t set_listener(
79  in DataWriterListener a_listener,
80  in StatusMask mask);
81 
82  DataWriterListener get_listener();
83 
84  Topic get_topic();
85 
86  Publisher get_publisher();
87 
88  ReturnCode_t wait_for_acknowledgments(in Duration_t max_wait);
89 
90  // Access the status
91  ReturnCode_t get_liveliness_lost_status(
92  inout LivelinessLostStatus status);
93  ReturnCode_t get_offered_deadline_missed_status(
94  inout OfferedDeadlineMissedStatus status);
95  ReturnCode_t get_offered_incompatible_qos_status(
96  inout OfferedIncompatibleQosStatus status);
97  ReturnCode_t get_publication_matched_status(
98  inout PublicationMatchedStatus status);
99 
100  ReturnCode_t assert_liveliness();
101 
102  ReturnCode_t get_matched_subscriptions(
103  inout InstanceHandleSeq subscription_handles);
104 
105 #if !defined (DDS_HAS_MINIMUM_BIT)
106  ReturnCode_t get_matched_subscription_data(
107  inout SubscriptionBuiltinTopicData subscription_data,
108  in InstanceHandle_t subscription_handle);
109 #endif // !defined (DDS_HAS_MINIMUM_BIT)
110 
111  };
112 
113  local interface Publisher : Entity {
114  DataWriter create_datawriter(
115  in Topic a_topic,
116  in DataWriterQos qos,
117  in DataWriterListener a_listener,
118  in StatusMask mask);
119 
120  ReturnCode_t delete_datawriter(
121  in DataWriter a_datawriter);
122 
123  DataWriter lookup_datawriter(
124  in string topic_name);
125 
126  ReturnCode_t delete_contained_entities();
127 
128  ReturnCode_t set_qos(
129  in PublisherQos qos);
130 
131  ReturnCode_t get_qos(
132  inout PublisherQos qos);
133 
134  ReturnCode_t set_listener(
135  in PublisherListener a_listener,
136  in StatusMask mask);
137 
138  PublisherListener get_listener();
139 
140  ReturnCode_t suspend_publications();
141 
142  ReturnCode_t resume_publications();
143 
144 #ifndef OPENDDS_NO_OBJECT_MODEL_PROFILE
145 
146  ReturnCode_t begin_coherent_changes();
147 
148  ReturnCode_t end_coherent_changes();
149 
150 #endif
151 
152  ReturnCode_t wait_for_acknowledgments(
153  in Duration_t max_wait);
154 
155  DomainParticipant get_participant();
156 
157  ReturnCode_t set_default_datawriter_qos(
158  in DataWriterQos qos);
159 
160  ReturnCode_t get_default_datawriter_qos(
161  inout DataWriterQos qos);
162 
163  ReturnCode_t copy_from_topic_qos(
164  inout DataWriterQos a_datawriter_qos,
165  in TopicQos a_topic_qos);
166  };
167 }; // module DDS
168 
169 module OpenDDS {
170  module DCPS {
171 
174  };
175 
179 
181 
182  /// Called when a connection failure has been detected
183  /// and there are still associations using the connection
184  /// after the configurable graceful_disconnected_period.
185  void on_publication_disconnected(
186  in ::DDS::DataWriter reader,
187  in PublicationDisconnectedStatus status);
188 
189  /// Called when a disconnected connection
190  /// has been reconnected.
191  void on_publication_reconnected(
192  in ::DDS::DataWriter reader,
193  in PublicationReconnectedStatus status);
194 
195  /// called when a connection is lost and hence one
196  /// or more associations from this publication to
197  /// some subscribers have been lost.
198  /// A connection is "lost" when the retry attempts
199  /// have been exhausted.
200  void on_publication_lost(
201  in ::DDS::DataWriter writer,
202  in PublicationLostStatus status);
203  };
204 
205  }; // End of module DCPS
206 }; // End of module OpenDDS
207 
208 #endif /* OPENDDS_DCPS_PUBLICATION_IDL */
sequence< InstanceHandle_t > InstanceHandleSeq
Definition: DdsDcpsCore.idl:53
PublicationLostStatus PublicationDisconnectedStatus
local interface<%TYPE%> DataWriter
Definition: IDLTemplate.txt:18
PublicationLostStatus DisassociationStatus
The End User API.
PublicationLostStatus PublicationReconnectedStatus
HANDLE_TYPE_NATIVE InstanceHandle_t
Definition: DdsDcpsCore.idl:51
unsigned long StatusMask
::DDS::InstanceHandleSeq subscription_handles
The Internal API and Implementation of OpenDDS.
Definition: AddressCache.h:28