OpenDDS  Snapshot(2023/04/28-20:55)
UpdateListener_T.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 UPDATELISTENER_T_H
9 #define UPDATELISTENER_T_H
10 
12 #include "FederationId.h"
13 #include "UpdateReceiver_T.h"
14 
15 #if !defined (ACE_LACKS_PRAGMA_ONCE)
16 #pragma once
17 #endif /* ACE_LACKS_PRAGMA_ONCE */
18 
20 
21 namespace OpenDDS {
22 namespace Federator {
23 
24 /// @class UpdateListener<DataType, ReaderType>
25 template<class DataType, class ReaderType>
27  : public virtual OpenDDS::DCPS::LocalObject<DDS::DataReaderListener> {
28 public:
30 
31  virtual ~UpdateListener();
32 
33  virtual void on_requested_deadline_missed(
34  DDS::DataReader_ptr reader,
35  const DDS::RequestedDeadlineMissedStatus & status);
36 
37  virtual void on_requested_incompatible_qos(
38  DDS::DataReader_ptr reader,
40 
41  virtual void on_liveliness_changed(
42  DDS::DataReader_ptr reader,
43  const DDS::LivelinessChangedStatus & status);
44 
45  virtual void on_subscription_matched(
46  DDS::DataReader_ptr reader,
47  const DDS::SubscriptionMatchedStatus & status);
48 
49  virtual void on_sample_rejected(
50  DDS::DataReader_ptr reader,
51  const DDS::SampleRejectedStatus& status);
52 
53  virtual void on_data_available(
54  DDS::DataReader_ptr reader);
55 
56  virtual void on_sample_lost(
57  DDS::DataReader_ptr reader,
58  const DDS::SampleLostStatus& status);
59 
60  /// Access our Federation Id value.
61  void federationId(const TAO_DDS_DCPSFederationId& id);
63 
64  void stop();
65  void join();
66 
67 private:
68  /// Our Federation Id value.
70 
71  /// Manager object to delegate sample processing to.
73 
74 };
75 
76 } // namespace Federator
77 } // namespace OpenDDS
78 
80 
81 #if defined (ACE_TEMPLATES_REQUIRE_SOURCE)
82 #include "UpdateListener_T.cpp"
83 #endif /* ACE_TEMPLATES_REQUIRE_SOURCE */
84 
85 #if defined (ACE_TEMPLATES_REQUIRE_PRAGMA)
86 #pragma message ("UpdateListener_T.cpp template inst")
87 #pragma implementation ("UpdateListener_T.cpp")
88 #endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */
89 
90 #endif /* UPDATELISTENER_T_H */
UpdateReceiver< DataType > receiver_
Manager object to delegate sample processing to.
UpdateListener(UpdateProcessor< DataType > &processor)
Interface for managing update publications.
virtual void on_requested_deadline_missed(DDS::DataReader_ptr reader, const DDS::RequestedDeadlineMissedStatus &status)
TAO_DDS_DCPSFederationId federationId_
Our Federation Id value.
virtual void on_sample_lost(DDS::DataReader_ptr reader, const DDS::SampleLostStatus &status)
virtual void on_subscription_matched(DDS::DataReader_ptr reader, const DDS::SubscriptionMatchedStatus &status)
virtual void on_liveliness_changed(DDS::DataReader_ptr reader, const DDS::LivelinessChangedStatus &status)
virtual void on_sample_rejected(DDS::DataReader_ptr reader, const DDS::SampleRejectedStatus &status)
const TAO_DDS_DCPSFederationId & federationId() const
#define OPENDDS_END_VERSIONED_NAMESPACE_DECL
virtual void on_data_available(DDS::DataReader_ptr reader)
virtual void on_requested_incompatible_qos(DDS::DataReader_ptr reader, const DDS::RequestedIncompatibleQosStatus &status)
The Internal API and Implementation of OpenDDS.
Definition: AddressCache.h:28