00001
00002
00003
00004
00005
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
00014 namespace OpenDDS {
00015 namespace DCPS {
00016
00017 class ReceivedDataSample;
00018 class WriterIdSeq;
00019
00020 class OpenDDS_Dcps_Export TransportReceiveListener {
00021 public:
00022
00023 virtual ~TransportReceiveListener();
00024
00025 virtual void data_received(const ReceivedDataSample& sample) = 0;
00026
00027 virtual void notify_subscription_disconnected(const WriterIdSeq& pubids) = 0;
00028 virtual void notify_subscription_reconnected(const WriterIdSeq& pubids) = 0;
00029 virtual void notify_subscription_lost(const WriterIdSeq& pubids) = 0;
00030 virtual void notify_connection_deleted(const RepoId& peerId) = 0;
00031
00032 virtual void remove_associations(const WriterIdSeq& pubids, bool notify) = 0;
00033
00034 virtual void listener_add_ref() = 0;
00035 virtual void listener_remove_ref() = 0;
00036
00037 protected:
00038
00039 TransportReceiveListener();
00040 };
00041
00042 }
00043 }
00044
00045 #if defined (__ACE_INLINE__)
00046 #include "TransportReceiveListener.inl"
00047 #endif
00048
00049 #endif