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