OpenDDS  Snapshot(2023/04/28-20:55)
ReceivedDataStrategy.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_RECEIVEDDATASTRATEGY_H
9 #define OPENDDS_DCPS_RECEIVEDDATASTRATEGY_H
10 
11 #include "CoherentChangeControl.h"
12 #include "PoolAllocationBase.h"
13 
15 
16 namespace OpenDDS {
17 namespace DCPS {
18 
19 class ReceivedDataElementList;
20 class ReceivedDataElement;
21 
23 public:
24  explicit ReceivedDataStrategy(ReceivedDataElementList& rcvd_samples);
25  virtual ~ReceivedDataStrategy();
26 
27  virtual void add(ReceivedDataElement* data_sample);
28 
29 #ifndef OPENDDS_NO_OBJECT_MODEL_PROFILE
30  virtual void accept_coherent(const GUID_t& writer,
31  const GUID_t& publisher);
32 
33  virtual void reject_coherent(const GUID_t& writer,
34  const GUID_t& publisher);
35 #endif
36 
37 protected:
39 };
40 
42  : public ReceivedDataStrategy {
43 public:
44  explicit ReceptionDataStrategy(ReceivedDataElementList& rcvd_samples);
45 
47 };
48 
50  : public ReceivedDataStrategy {
51 public:
52  explicit SourceDataStrategy(ReceivedDataElementList& rcvd_samples);
53 
55 
56  virtual void add(ReceivedDataElement* data_sample);
57 };
58 
59 } // namespace DCPS
60 } // namespace OpenDDS
61 
63 
64 #endif /* DCPS_RECEIVEDDATASTRATEGY_H */
ReceivedDataElementList & rcvd_samples_
#define OpenDDS_Dcps_Export
Definition: dcps_export.h:24
#define OPENDDS_END_VERSIONED_NAMESPACE_DECL
The Internal API and Implementation of OpenDDS.
Definition: AddressCache.h:28