Line data Source code
1 : /* 2 : * 3 : * 4 : * Distributed under the OpenDDS License. 5 : * See: http://www.opendds.org/license.html 6 : */ 7 : 8 : #ifndef OPENDDS_DCPS_TRANSPORT_FRAMEWORK_TRANSPORTRECEIVELISTENER_H 9 : #define OPENDDS_DCPS_TRANSPORT_FRAMEWORK_TRANSPORTRECEIVELISTENER_H 10 : 11 : #include "dds/DCPS/dcps_export.h" 12 : #include "dds/DdsDcpsInfoUtilsC.h" 13 : #include "dds/DCPS/RcHandle_T.h" 14 : #include "dds/DCPS/RcObject.h" 15 : OPENDDS_BEGIN_VERSIONED_NAMESPACE_DECL 16 : 17 : namespace OpenDDS { 18 : namespace DCPS { 19 : 20 : class ReceivedDataSample; 21 : class WriterIdSeq; 22 : 23 : class OpenDDS_Dcps_Export TransportReceiveListener 24 : : public virtual RcObject { 25 : public: 26 : 27 : virtual ~TransportReceiveListener(); 28 : 29 : virtual void data_received(const ReceivedDataSample& sample) = 0; 30 : 31 : virtual void notify_subscription_disconnected(const WriterIdSeq& pubids) = 0; 32 : virtual void notify_subscription_reconnected(const WriterIdSeq& pubids) = 0; 33 : virtual void notify_subscription_lost(const WriterIdSeq& pubids) = 0; 34 : 35 : virtual void remove_associations(const WriterIdSeq& pubids, bool notify) = 0; 36 : 37 0 : virtual void transport_discovery_change() {} 38 : 39 : protected: 40 : 41 : TransportReceiveListener(); 42 : }; 43 : 44 : typedef RcHandle<TransportReceiveListener> TransportReceiveListener_rch; 45 : 46 : } // namespace DCPS 47 : } // namespace OpenDDS 48 : 49 : OPENDDS_END_VERSIONED_NAMESPACE_DECL 50 : 51 : #endif /* OPENDDS_DCPS_TRANSPORTRECEIVELISTENER_H */