00001 /* 00002 * 00003 * 00004 * Distributed under the OpenDDS License. 00005 * See: http://www.opendds.org/license.html 00006 */ 00007 00008 #ifndef OPENDDS_DCPS_BITPUBLISTENERIMPL_H 00009 #define OPENDDS_DCPS_BITPUBLISTENERIMPL_H 00010 00011 #ifndef DDS_HAS_MINIMUM_BIT 00012 00013 #include "dds/DdsDcpsSubscriptionC.h" 00014 #include "Definitions.h" 00015 #include "LocalObject.h" 00016 00017 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00018 #pragma once 00019 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00020 00021 namespace OpenDDS { 00022 namespace DCPS { 00023 00024 class DomainParticipantImpl; 00025 00026 //Class BitPubListenerImpl 00027 class BitPubListenerImpl 00028 : public virtual OpenDDS::DCPS::LocalObject<DDS::DataReaderListener> { 00029 public: 00030 //Constructor 00031 BitPubListenerImpl(DomainParticipantImpl* partipant); 00032 00033 //Destructor 00034 virtual ~BitPubListenerImpl(); 00035 00036 virtual void on_requested_deadline_missed( 00037 DDS::DataReader_ptr reader, 00038 const DDS::RequestedDeadlineMissedStatus& status); 00039 00040 virtual void on_requested_incompatible_qos( 00041 DDS::DataReader_ptr reader, 00042 const DDS::RequestedIncompatibleQosStatus& status); 00043 00044 virtual void on_liveliness_changed( 00045 DDS::DataReader_ptr reader, 00046 const DDS::LivelinessChangedStatus& status); 00047 00048 virtual void on_subscription_matched( 00049 DDS::DataReader_ptr reader, 00050 const DDS::SubscriptionMatchedStatus& status); 00051 00052 virtual void on_sample_rejected( 00053 DDS::DataReader_ptr reader, 00054 const DDS::SampleRejectedStatus& status); 00055 00056 virtual void on_data_available( 00057 DDS::DataReader_ptr reader); 00058 00059 virtual void on_sample_lost( 00060 DDS::DataReader_ptr reader, 00061 const DDS::SampleLostStatus& status); 00062 00063 private: 00064 DomainParticipantImpl* partipant_; 00065 00066 }; 00067 00068 } // namespace DCPS 00069 } // namespace OpenDDS 00070 00071 #endif // DDS_HAS_MINIMUM_BIT 00072 00073 #endif // OPENDDS_DCPS_BITPUBLISTENERIMPL_H