00001
00002
00003
00004
00005
00006
00007
00008 #ifndef OPENDDS_DCPS_SUBSCRIPTION_IDL
00009 #define OPENDDS_DCPS_SUBSCRIPTION_IDL
00010
00011 #include "dds/DdsDcpsInfrastructure.idl"
00012 #include "dds/DdsDcpsDataReaderSeq.idl"
00013
00014 #pragma ciao lem "dds/DdsDcpsSubscriptionE.idl"
00015
00016 module DDS {
00017 local interface TopicDescription;
00018 local interface DomainParticipant;
00019 local interface DataReader;
00020 local interface Subscriber;
00021
00022 local interface DataReaderListener : Listener {
00023 void on_requested_deadline_missed(
00024 in DataReader reader,
00025 in RequestedDeadlineMissedStatus status);
00026
00027 void on_requested_incompatible_qos(
00028 in DataReader reader,
00029 in RequestedIncompatibleQosStatus status);
00030
00031 void on_sample_rejected(
00032 in DataReader reader,
00033 in SampleRejectedStatus status);
00034
00035 void on_liveliness_changed(
00036 in DataReader reader,
00037 in LivelinessChangedStatus status);
00038
00039 void on_data_available(
00040 in DataReader reader);
00041
00042 void on_subscription_matched(
00043 in DataReader reader,
00044 in SubscriptionMatchedStatus status);
00045
00046 void on_sample_lost(
00047 in DataReader reader,
00048 in SampleLostStatus status);
00049 };
00050
00051 local interface SubscriberListener : DataReaderListener {
00052 void on_data_on_readers(
00053 in Subscriber subs);
00054 };
00055
00056
00057 local interface ReadCondition : Condition {
00058 SampleStateMask get_sample_state_mask();
00059 ViewStateMask get_view_state_mask();
00060 InstanceStateMask get_instance_state_mask();
00061 DataReader get_datareader();
00062 };
00063
00064
00065 #ifndef OPENDDS_NO_QUERY_CONDITION
00066 local interface QueryCondition : ReadCondition {
00067 string get_query_expression();
00068 ReturnCode_t get_query_parameters(
00069 inout StringSeq query_parameters);
00070 ReturnCode_t set_query_parameters(
00071 in StringSeq query_parameters);
00072 };
00073 #endif
00074
00075 local interface DataReader : Entity {
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091
00092
00093
00094
00095
00096
00097
00098
00099
00100
00101
00102
00103
00104
00105
00106
00107
00108
00109
00110
00111
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124
00125
00126
00127
00128
00129
00130
00131
00132
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155
00156
00157
00158
00159 ReadCondition create_readcondition(
00160 in SampleStateMask sample_states,
00161 in ViewStateMask view_states,
00162 in InstanceStateMask instance_states);
00163
00164 #ifndef OPENDDS_NO_QUERY_CONDITION
00165 QueryCondition create_querycondition(
00166 in SampleStateMask sample_states,
00167 in ViewStateMask view_states,
00168 in InstanceStateMask instance_states,
00169 in string query_expression,
00170 in StringSeq query_parameters);
00171 #endif
00172
00173 ReturnCode_t delete_readcondition(
00174 in ReadCondition a_condition);
00175
00176 ReturnCode_t delete_contained_entities();
00177
00178 ReturnCode_t set_qos(
00179 in DataReaderQos qos);
00180
00181 ReturnCode_t get_qos(inout DataReaderQos qos);
00182
00183 ReturnCode_t set_listener(
00184 in DataReaderListener a_listener,
00185 in StatusMask mask);
00186
00187 DataReaderListener get_listener();
00188
00189 TopicDescription get_topicdescription();
00190
00191 Subscriber get_subscriber();
00192
00193 ReturnCode_t get_sample_rejected_status(
00194 inout SampleRejectedStatus status);
00195 ReturnCode_t get_liveliness_changed_status(
00196 inout LivelinessChangedStatus status);
00197 ReturnCode_t get_requested_deadline_missed_status(
00198 inout RequestedDeadlineMissedStatus status);
00199 ReturnCode_t get_requested_incompatible_qos_status(
00200 inout RequestedIncompatibleQosStatus status);
00201 ReturnCode_t get_subscription_matched_status(
00202 inout SubscriptionMatchedStatus status);
00203 ReturnCode_t get_sample_lost_status(
00204 inout SampleLostStatus status);
00205
00206 ReturnCode_t wait_for_historical_data(
00207 in Duration_t max_wait);
00208
00209 ReturnCode_t get_matched_publications(
00210 inout InstanceHandleSeq publication_handles);
00211
00212 #if !defined (DDS_HAS_MINIMUM_BIT)
00213 ReturnCode_t get_matched_publication_data(
00214 inout PublicationBuiltinTopicData publication_data,
00215 in InstanceHandle_t publication_handle);
00216 #endif // !defined (DDS_HAS_MINIMUM_BIT)
00217
00218 };
00219
00220
00221 local interface Subscriber : Entity {
00222 DataReader create_datareader(
00223 in TopicDescription a_topic,
00224 in DataReaderQos qos,
00225 in DataReaderListener a_listener,
00226 in StatusMask mask);
00227
00228 ReturnCode_t delete_datareader(
00229 in DataReader a_datareader);
00230
00231 ReturnCode_t delete_contained_entities();
00232
00233 DataReader lookup_datareader(
00234 in string topic_name);
00235
00236 ReturnCode_t get_datareaders(
00237 inout DataReaderSeq readers,
00238 in SampleStateMask sample_states,
00239 in ViewStateMask view_states,
00240 in InstanceStateMask instance_states);
00241
00242 ReturnCode_t notify_datareaders();
00243
00244 ReturnCode_t set_qos(
00245 in SubscriberQos qos);
00246
00247 ReturnCode_t get_qos(
00248 inout SubscriberQos qos);
00249
00250 ReturnCode_t set_listener(
00251 in SubscriberListener a_listener,
00252 in StatusMask mask);
00253
00254 SubscriberListener get_listener();
00255
00256 #ifndef OPENDDS_NO_OBJECT_MODEL_PROFILE
00257
00258 ReturnCode_t begin_access();
00259
00260 ReturnCode_t end_access();
00261
00262 #endif
00263
00264 DomainParticipant get_participant();
00265
00266 ReturnCode_t set_default_datareader_qos(
00267 in DataReaderQos qos);
00268
00269 ReturnCode_t get_default_datareader_qos(inout DataReaderQos qos);
00270
00271 ReturnCode_t copy_from_topic_qos(
00272 inout DataReaderQos a_datareader_qos,
00273 in TopicQos a_topic_qos);
00274 };
00275
00276 };
00277
00278 #endif