OpenDDS  Snapshot(2023/04/28-20:55)
DataWriterCallbacks.h
Go to the documentation of this file.
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 
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 */
35  : public virtual RcObject {
36 public:
37 
39 
40  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  virtual void register_for_reader(const GUID_t& /*participant*/,
55  const GUID_t& /*writerid*/,
56  const GUID_t& /*readerid*/,
57  const TransportLocatorSeq& /*locators*/,
58  DiscoveryListener* /*listener*/) { }
59 
60  virtual void unregister_for_reader(const GUID_t& /*participant*/,
61  const GUID_t& /*writerid*/,
62  const GUID_t& /*readerid*/) { }
63 
64  virtual void update_locators(const GUID_t& /*remote*/,
65  const TransportLocatorSeq& /*locators*/) { }
66 
67  virtual WeakRcHandle<ICE::Endpoint> get_ice_endpoint() = 0;
68 };
69 
72 
73 } // namespace DCPS
74 } // namespace OpenDDS
75 
77 
78 #endif /* OPENDDS_DCPS_DATAWRITERCALLBACKS_H */
Defines the interface for Discovery callbacks into the DataWriter.
#define OpenDDS_Dcps_Export
Definition: dcps_export.h:24
sequence< TransportLocator > TransportLocatorSeq
virtual void register_for_reader(const GUID_t &, const GUID_t &, const GUID_t &, const TransportLocatorSeq &, DiscoveryListener *)
sequence< GUID_t > ReaderIdSeq
ACE_CDR::Boolean Boolean
WeakRcHandle< DataWriterCallbacks > DataWriterCallbacks_wrch
RcHandle< DataWriterCallbacks > DataWriterCallbacks_rch
virtual void update_locators(const GUID_t &, const TransportLocatorSeq &)
#define OPENDDS_END_VERSIONED_NAMESPACE_DECL
virtual void unregister_for_reader(const GUID_t &, const GUID_t &, const GUID_t &)
The Internal API and Implementation of OpenDDS.
Definition: AddressCache.h:28
Defines the interface that allows DataWriters (and lower levels) to inform discovery.
sequence< string > StringSeq
Definition: DdsDcpsCore.idl:50