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_DATAREADERCALLBACKS_H 9 : #define OPENDDS_DCPS_DATAREADERCALLBACKS_H 10 : 11 : #include "Definitions.h" 12 : #include "DiscoveryListener.h" 13 : #include "RcObject.h" 14 : 15 : #if !defined (ACE_LACKS_PRAGMA_ONCE) 16 : #pragma once 17 : #endif /* ACE_LACKS_PRAGMA_ONCE */ 18 : 19 : OPENDDS_BEGIN_VERSIONED_NAMESPACE_DECL 20 : 21 : namespace OpenDDS { 22 : 23 : namespace ICE { 24 : class Endpoint; 25 : } 26 : 27 : namespace DCPS { 28 : 29 : /** 30 : * @class DataReaderCallbacks 31 : * 32 : * @brief Defines the interface for Discovery callbacks into the DataReader. 33 : * 34 : */ 35 : class OpenDDS_Dcps_Export DataReaderCallbacks 36 : : public virtual RcObject { 37 : public: 38 : 39 1 : DataReaderCallbacks() {} 40 : 41 1 : virtual ~DataReaderCallbacks() {} 42 : 43 : virtual void add_association(const GUID_t& yourId, 44 : const WriterAssociation& writer, 45 : bool active) = 0; 46 : 47 : virtual void remove_associations(const WriterIdSeq& writers, 48 : CORBA::Boolean callback) = 0; 49 : 50 : virtual void update_incompatible_qos(const IncompatibleQosStatus& status) = 0; 51 : 52 : virtual void signal_liveliness(const GUID_t& remote_participant) = 0; 53 : 54 0 : virtual void register_for_writer(const GUID_t& /*participant*/, 55 : const GUID_t& /*readerid*/, 56 : const GUID_t& /*writerid*/, 57 : const TransportLocatorSeq& /*locators*/, 58 0 : DiscoveryListener* /*listener*/) { } 59 : 60 0 : virtual void unregister_for_writer(const GUID_t& /*participant*/, 61 : const GUID_t& /*readerid*/, 62 0 : const GUID_t& /*writerid*/) { } 63 : 64 0 : virtual void update_locators(const GUID_t& /*remote*/, 65 0 : const TransportLocatorSeq& /*locators*/) { } 66 : 67 : virtual DCPS::WeakRcHandle<ICE::Endpoint> get_ice_endpoint() = 0; 68 : }; 69 : 70 : typedef RcHandle<DataReaderCallbacks> DataReaderCallbacks_rch; 71 : typedef WeakRcHandle<DataReaderCallbacks> DataReaderCallbacks_wrch; 72 : 73 : } // namespace DCPS 74 : } // namespace OpenDDS 75 : 76 : OPENDDS_END_VERSIONED_NAMESPACE_DECL 77 : 78 : #endif /* OPENDDS_DCPS_DATAREADERCALLBACKS_H */