00001
00002
00003
00004
00005
00006
00007
00008 #ifndef FAILOVERLISTENER_T_H
00009 #define FAILOVERLISTENER_T_H
00010
00011 #include "dds/DdsDcpsSubscriptionExtC.h"
00012 #include "dds/DCPS/Definitions.h"
00013 #include "dds/DCPS/LocalObject.h"
00014 #include "dds/DCPS/Discovery.h"
00015
00016 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00017 #pragma once
00018 #endif
00019
00020 namespace OpenDDS {
00021 namespace DCPS {
00022
00023
00024 class FailoverListener
00025 : public virtual OpenDDS::DCPS::LocalObject<OpenDDS::DCPS::DataReaderListener> {
00026 public:
00027
00028 FailoverListener(Discovery::RepoKey key);
00029
00030
00031 virtual ~FailoverListener();
00032
00033 virtual void on_requested_deadline_missed(
00034 DDS::DataReader_ptr reader,
00035 const DDS::RequestedDeadlineMissedStatus & status);
00036
00037 virtual void on_requested_incompatible_qos(
00038 DDS::DataReader_ptr reader,
00039 const DDS::RequestedIncompatibleQosStatus & status);
00040
00041 virtual void on_liveliness_changed(
00042 DDS::DataReader_ptr reader,
00043 const DDS::LivelinessChangedStatus & status);
00044
00045 virtual void on_subscription_matched(
00046 DDS::DataReader_ptr reader,
00047 const DDS::SubscriptionMatchedStatus & status);
00048
00049 virtual void on_sample_rejected(
00050 DDS::DataReader_ptr reader,
00051 const DDS::SampleRejectedStatus& status);
00052
00053 virtual void on_data_available(
00054 DDS::DataReader_ptr reader);
00055
00056 virtual void on_sample_lost(
00057 DDS::DataReader_ptr reader,
00058 const DDS::SampleLostStatus& status);
00059
00060 virtual void on_subscription_disconnected(
00061 DDS::DataReader_ptr reader,
00062 const OpenDDS::DCPS::SubscriptionDisconnectedStatus& status);
00063
00064 virtual void on_subscription_reconnected(
00065 DDS::DataReader_ptr reader,
00066 const OpenDDS::DCPS::SubscriptionReconnectedStatus& status);
00067
00068 virtual void on_subscription_lost(
00069 DDS::DataReader_ptr reader,
00070 const OpenDDS::DCPS::SubscriptionLostStatus& status);
00071
00072 virtual void on_connection_deleted(
00073 DDS::DataReader_ptr reader);
00074
00075 virtual void on_budget_exceeded(
00076 DDS::DataReader_ptr reader,
00077 const OpenDDS::DCPS::BudgetExceededStatus& status);
00078
00079 private:
00080
00081
00082 Discovery::RepoKey key_;
00083 };
00084
00085 }
00086 }
00087
00088 #endif