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 OPENDDS_BEGIN_VERSIONED_NAMESPACE_DECL 00022 00023 namespace OpenDDS { 00024 namespace DCPS { 00025 00026 class DomainParticipantImpl; 00027 00028 class BitPubListenerImpl 00029 : public virtual OpenDDS::DCPS::LocalObject<DDS::DataReaderListener> { 00030 public: 00031 BitPubListenerImpl(DomainParticipantImpl* partipant); 00032 00033 virtual ~BitPubListenerImpl(); 00034 00035 virtual void on_requested_deadline_missed( 00036 DDS::DataReader_ptr reader, 00037 const DDS::RequestedDeadlineMissedStatus& status); 00038 00039 virtual void on_requested_incompatible_qos( 00040 DDS::DataReader_ptr reader, 00041 const DDS::RequestedIncompatibleQosStatus& status); 00042 00043 virtual void on_liveliness_changed( 00044 DDS::DataReader_ptr reader, 00045 const DDS::LivelinessChangedStatus& status); 00046 00047 virtual void on_subscription_matched( 00048 DDS::DataReader_ptr reader, 00049 const DDS::SubscriptionMatchedStatus& status); 00050 00051 virtual void on_sample_rejected( 00052 DDS::DataReader_ptr reader, 00053 const DDS::SampleRejectedStatus& status); 00054 00055 virtual void on_data_available( 00056 DDS::DataReader_ptr reader); 00057 00058 virtual void on_sample_lost( 00059 DDS::DataReader_ptr reader, 00060 const DDS::SampleLostStatus& status); 00061 00062 private: 00063 DomainParticipantImpl* partipant_; 00064 00065 }; 00066 00067 } // namespace DCPS 00068 } // namespace OpenDDS 00069 00070 OPENDDS_END_VERSIONED_NAMESPACE_DECL 00071 00072 #endif // DDS_HAS_MINIMUM_BIT 00073 00074 #endif // OPENDDS_DCPS_BITPUBLISTENERIMPL_H