Go to the documentation of this file.00001 #ifndef DATAREADER_LISTENER_IMPL
00002 #define DATAREADER_LISTENER_IMPL
00003
00004 #include <dds/DdsDcpsSubscriptionS.h>
00005 #include <loggingACEMACROS.h>
00006
00007 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00008 #pragma once
00009 #endif
00010
00011 namespace ddsnc{
00012
00013
00022 class DataReaderListenerImpl
00023 : public virtual OpenDDS::DCPS::LocalObject<DDS::DataReaderListener>
00024 {
00025 public:
00026
00027 DataReaderListenerImpl ();
00028
00029
00030 ~DataReaderListenerImpl (void);
00031
00032 void on_requested_deadline_missed (
00033 DDS::DataReader_ptr reader,
00034 const DDS::RequestedDeadlineMissedStatus & status)
00035 throw (CORBA::SystemException);
00036
00037 void on_requested_incompatible_qos (
00038 DDS::DataReader_ptr reader,
00039 const DDS::RequestedIncompatibleQosStatus & status)
00040 throw (CORBA::SystemException);
00041
00042 void on_liveliness_changed (
00043 DDS::DataReader_ptr reader,
00044 const DDS::LivelinessChangedStatus & status)
00045 throw (CORBA::SystemException);
00046
00047 void on_subscription_matched (
00048 DDS::DataReader_ptr reader,
00049 const DDS::SubscriptionMatchedStatus & status
00050 )
00051 throw (CORBA::SystemException);
00052
00053 void on_sample_rejected(
00054 DDS::DataReader_ptr reader,
00055 const DDS::SampleRejectedStatus& status
00056 )
00057 throw (CORBA::SystemException);
00058
00059 virtual void on_data_available(
00060 DDS::DataReader_ptr reader
00061 )
00062 throw (CORBA::SystemException);
00063
00064 void on_sample_lost(
00065 DDS::DataReader_ptr reader,
00066 const DDS::SampleLostStatus& status
00067 )
00068 throw (CORBA::SystemException);
00069
00070 long num_reads() const {
00071 return num_reads_;
00072 }
00073
00074 protected:
00075 DDS::DataReader_var reader_;
00076 long num_reads_;
00077 };
00078 }
00079 #endif