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