DdsDcpsSubscription.idl

Go to the documentation of this file.
00001 /*
00002  *
00003  *
00004  * Distributed under the OpenDDS License.
00005  * See: http://www.opendds.org/license.html
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     // ReturnCode_t read(
00077     //          inout DataSeq received_data,
00078     //          inout SampleInfoSeq info_seq,
00079     //          in long max_samples,
00080     //          in SampleStateMask sample_states,
00081     //          in ViewStateMask view_states,
00082     //          in InstanceStateMask instance_states);
00083     // ReturnCode_t take(
00084     //          inout DataSeq received_data,
00085     //          inout SampleInfoSeq info_seq,
00086     //          in long max_samples,
00087     //          in SampleStateMask sample_states,
00088     //          in ViewStateMask view_states,
00089     //          in InstanceStateMask instance_states);
00090     // ReturnCode_t read_w_condition(
00091     //          inout DataSeq received_data,
00092     //          inout SampleInfoSeq info_seq,
00093     //          in long max_samples,
00094     //          in ReadCondition a_condition);
00095     // ReturnCode_t take_w_condition(
00096     //          inout DataSeq received_data,
00097     //          inout SampleInfoSeq info_seq,
00098     //          in long max_samples,
00099     //          in ReadCondition a_condition);
00100     // ReturnCode_t read_next_sample(
00101     //          inout Data received_data,
00102     //          inout SampleInfo sample_info);
00103     // ReturnCode_t take_next_sample(
00104     //          inout Data received_data,
00105     //          inout SampleInfo sample_info);
00106     // ReturnCode_t read_instance(
00107     //          inout DataSeq received_data,
00108     //          inout SampleInfoSeq info_seq,
00109     //          in long max_samples,
00110     //          in InstanceHandle_t a_handle,
00111     //          in SampleStateMask sample_states,
00112     //          in ViewStateMask view_states,
00113     //          in InstanceStateMask instance_states);
00114     // ReturnCode_t take_instance(
00115     //          inout DataSeq received_data,
00116     //          inout SampleInfoSeq info_seq,
00117     //          in long max_samples,
00118     //          in InstanceHandle_t a_handle,
00119     //          in SampleStateMask sample_states,
00120     //          in ViewStateMask view_states,
00121     //          in InstanceStateMask instance_states);
00122     // ReturnCode_t read_next_instance(
00123     //          inout DataSeq received_data,
00124     //          inout SampleInfoSeq info_seq,
00125     //          in long max_samples,
00126     //          in InstanceHandle_t a_handle,
00127     //          in SampleStateMask sample_states,
00128     //          in ViewStateMask view_states,
00129     //          in InstanceStateMask instance_states);
00130     // ReturnCode_t take_next_instance(
00131     //          inout DataSeq received_data,
00132     //          inout SampleInfoSeq info_seq,
00133     //          in long max_samples,
00134     //          in InstanceHandle_t a_handle,
00135     //          in SampleStateMask sample_states,
00136     //          in ViewStateMask view_states,
00137     //          in InstanceStateMask instance_states);
00138     // ReturnCode_t read_next_instance_w_condition(
00139     //          inout DataSeq received_data,
00140     //          inout SampleInfoSeq info_seq,
00141     //          in long max_samples,
00142     //          in InstanceHandle_t a_handle,
00143     //          in ReadCondition a_condition);
00144     // ReturnCode_t take_next_instance_w_condition(
00145     //          inout DataSeq received_data,
00146     //          inout SampleInfoSeq info_seq,
00147     //          in long max_samples,
00148     //          in InstanceHandle_t a_handle,
00149     //          in ReadCondition a_condition);
00150     // ReturnCode_t return_loan(
00151     //          inout DataSeq received_data,
00152     //          inout SampleInfoSeq info_seq);
00153     // ReturnCode_t get_key_value(
00154     //          inout Data key_holder,
00155     //          in InstanceHandle_t handle);
00156 
00157     //  InstanceHandle_t lookup_instance(
00158     //      in Data instance_data);
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 /* OPENDDS_DCPS_SUBSCRIPTION_IDL */

Generated on Fri Feb 12 20:05:22 2016 for OpenDDS by  doxygen 1.4.7