00001 /* 00002 * 00003 * 00004 * Distributed under the OpenDDS License. 00005 * See: http://www.opendds.org/license.html 00006 */ 00007 00008 #ifndef OPENDDS_DCPS_TRANSPORTRECEIVELISTENER_H 00009 #define OPENDDS_DCPS_TRANSPORTRECEIVELISTENER_H 00010 00011 #include "dds/DCPS/dcps_export.h" 00012 #include "dds/DdsDcpsInfoUtilsC.h" 00013 #include "dds/DCPS/RcHandle_T.h" 00014 #include "dds/DCPS/RcObject.h" 00015 OPENDDS_BEGIN_VERSIONED_NAMESPACE_DECL 00016 00017 namespace OpenDDS { 00018 namespace DCPS { 00019 00020 class ReceivedDataSample; 00021 class WriterIdSeq; 00022 00023 class OpenDDS_Dcps_Export TransportReceiveListener 00024 : public virtual RcObject { 00025 public: 00026 00027 virtual ~TransportReceiveListener(); 00028 00029 virtual void data_received(const ReceivedDataSample& sample) = 0; 00030 00031 virtual void notify_subscription_disconnected(const WriterIdSeq& pubids) = 0; 00032 virtual void notify_subscription_reconnected(const WriterIdSeq& pubids) = 0; 00033 virtual void notify_subscription_lost(const WriterIdSeq& pubids) = 0; 00034 00035 virtual void remove_associations(const WriterIdSeq& pubids, bool notify) = 0; 00036 00037 protected: 00038 00039 TransportReceiveListener(); 00040 }; 00041 00042 typedef RcHandle<TransportReceiveListener> TransportReceiveListener_rch; 00043 00044 } // namespace DCPS 00045 } // namespace OpenDDS 00046 00047 OPENDDS_END_VERSIONED_NAMESPACE_DECL 00048 00049 #endif /* OPENDDS_DCPS_TRANSPORTRECEIVELISTENER_H */