OpenDDS  Snapshot(2023/04/28-20:55)
DataReaderCallbacks.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_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 
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 */
36  : public virtual RcObject {
37 public:
38 
40 
41  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  virtual void register_for_writer(const GUID_t& /*participant*/,
55  const GUID_t& /*readerid*/,
56  const GUID_t& /*writerid*/,
57  const TransportLocatorSeq& /*locators*/,
58  DiscoveryListener* /*listener*/) { }
59 
60  virtual void unregister_for_writer(const GUID_t& /*participant*/,
61  const GUID_t& /*readerid*/,
62  const GUID_t& /*writerid*/) { }
63 
64  virtual void update_locators(const GUID_t& /*remote*/,
65  const TransportLocatorSeq& /*locators*/) { }
66 
67  virtual DCPS::WeakRcHandle<ICE::Endpoint> get_ice_endpoint() = 0;
68 };
69 
72 
73 } // namespace DCPS
74 } // namespace OpenDDS
75 
77 
78 #endif /* OPENDDS_DCPS_DATAREADERCALLBACKS_H */
virtual void register_for_writer(const GUID_t &, const GUID_t &, const GUID_t &, const TransportLocatorSeq &, DiscoveryListener *)
WeakRcHandle< DataReaderCallbacks > DataReaderCallbacks_wrch
#define OpenDDS_Dcps_Export
Definition: dcps_export.h:24
virtual void update_locators(const GUID_t &, const TransportLocatorSeq &)
Defines the interface for Discovery callbacks into the DataReader.
sequence< TransportLocator > TransportLocatorSeq
virtual void unregister_for_writer(const GUID_t &, const GUID_t &, const GUID_t &)
RcHandle< DataReaderCallbacks > DataReaderCallbacks_rch
ACE_CDR::Boolean Boolean
sequence< GUID_t > WriterIdSeq
#define OPENDDS_END_VERSIONED_NAMESPACE_DECL
The Internal API and Implementation of OpenDDS.
Definition: AddressCache.h:28
Defines the interface that allows DataWriters (and lower levels) to inform discovery.