OpenDDS  Snapshot(2023/04/28-20:55)
SubscriptionInstance.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_SUBSCRIPTION_INSTANCE_H
9 #define OPENDDS_DCPS_SUBSCRIPTION_INSTANCE_H
10 
11 #include "dcps_export.h"
13 #include "ReceivedDataStrategy.h"
14 #include "InstanceState.h"
15 #include "RcObject.h"
16 
17 #include "dds/DdsDcpsInfrastructureC.h"
18 
19 #if !defined (ACE_LACKS_PRAGMA_ONCE)
20 #pragma once
21 #endif /* ACE_LACKS_PRAGMA_ONCE */
22 
24 
25 namespace OpenDDS {
26 namespace DCPS {
27 
28 class DataReaderImpl;
29 
30 /**
31  * @class SubscriptionInstance
32  *
33  * @brief Struct that has information about an instance and the instance
34  * sample list.
35  */
37 public:
39  const DDS::DataReaderQos& qos,
41  DDS::InstanceHandle_t handle,
42  bool owns_handle);
43 
44  virtual ~SubscriptionInstance();
45 
47 
48  /// Instance state for this instance
50 
51  /// Sequence number of the move recent data sample received
53 
54  /// Data sample(s) in this instance
56 
60 
61  /// ReceivedDataElementList strategy
63 
64  /// The instance handle for the registered object
66 
67  const bool owns_handle_;
68 
70 
72 
74 
76 };
77 
79 
80 } // namespace DCPS
81 } // namespace OpenDDS
82 
84 
85 #endif /* OPENDDS_DCPS_SUBSCRIPTION_INSTANCE_H */
local interface<%TYPE%> inout ::DDS::SampleInfoSeq in long in ::DDS::SampleStateMask sample_states
Definition: IDLTemplate.txt:72
local interface<%TYPE%> inout ::DDS::SampleInfoSeq in long in ::DDS::SampleStateMask in ::DDS::ViewStateMask in ::DDS::InstanceStateMask instance_states
Definition: IDLTemplate.txt:72
#define OpenDDS_Dcps_Export
Definition: dcps_export.h:24
unique_ptr< ReceivedDataStrategy > rcvd_strategy_
ReceivedDataElementList strategy.
local interface<%TYPE%> inout ::DDS::SampleInfoSeq in long in ::DDS::SampleStateMask in ::DDS::ViewStateMask view_states
Definition: IDLTemplate.txt:72
SequenceNumber last_sequence_
Sequence number of the move recent data sample received.
ACE_CDR::ULong ULong
HANDLE_TYPE_NATIVE InstanceHandle_t
Definition: DdsDcpsCore.idl:51
Sequence number abstraction. Only allows positive 64 bit values.
Struct that has information about an instance and the instance sample list.
#define OPENDDS_END_VERSIONED_NAMESPACE_DECL
ReceivedDataElementList rcvd_samples_
Data sample(s) in this instance.
RcHandle< SubscriptionInstance > SubscriptionInstance_rch
const InstanceState_rch instance_state_
Instance state for this instance.
The Internal API and Implementation of OpenDDS.
Definition: AddressCache.h:28
const DDS::InstanceHandle_t instance_handle_
The instance handle for the registered object.