OpenDDS  Snapshot(2023/04/28-20:55)
DataSampleElement.cpp
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 #include "DCPS/DdsDcps_pch.h" //Only the _pch include should start with DCPS/
9 #include "DataSampleElement.h"
10 #include "PublicationInstance.h"
11 
12 #if !defined (__ACE_INLINE__)
13 #include "DataSampleElement.inl"
14 #endif /* __ACE_INLINE__ */
15 
16 
18 
19 namespace OpenDDS {
20 namespace DCPS {
21 
23  GUID_t publication_id,
24  TransportSendListener* send_listener,
26  : transaction_id_(0),
27  publication_id_(publication_id),
28  num_subs_(0),
29  send_listener_(send_listener),
30  handle_(handle),
31  previous_writer_sample_(0),
32  next_writer_sample_(0),
33  next_instance_sample_(0),
34  previous_instance_sample_(0),
35  next_send_sample_(0),
36  previous_send_sample_(0)
37 
38 {
39  std::fill(subscription_ids_,
41  GUID_UNKNOWN);
42 }
43 
46  , header_(elem.header_)
47  , sample_(elem.sample_ ? elem.sample_->duplicate() : 0)
49  , num_subs_(elem.num_subs_)
51  , handle_(elem.handle_)
52  , filter_out_(elem.filter_out_)
60 
61 {
65 }
66 
68 {
69 }
70 
73 {
75  header_ = rhs.header_;
78  num_subs_ = rhs.num_subs_;
79 
83 
91  handle_ = rhs.handle_;
94 
95  return *this;
96 }
97 
100 {
101  return handle_;
102 }
103 
104 
105 } // namespace DCPS
106 } // namespace OpenDDS
107 
const CORBA::ULong MAX_READERS_PER_ELEM
GUIDSeq_var filter_out_
tracking for Content-Filtering data
const GUID_t GUID_UNKNOWN
Nil value for GUID.
Definition: GuidUtils.h:59
OpenDDS::DCPS::GUID_t subscription_ids_[OpenDDS::DCPS::MAX_READERS_PER_ELEM]
TransportSendListener * send_listener_
DataSampleElement * previous_instance_sample_
DataSampleElement * next_instance_sample_
Thread of data within the instance.
DataSampleElement(GUID_t publication_id, TransportSendListener *send_listener, PublicationInstance_rch handle)
DataSampleHeader header_
The OpenDDS DCPS header for this sample.
PublicationInstance_rch get_handle() const
PublicationInstance_rch handle_
GUID_t publication_id_
Publication Id used downstream.
DataSampleElement * next_send_sample_
Thread of data being unsent/sending/sent/released.
virtual ACE_Message_Block * duplicate(void) const
DataLinkIdTypeGUIDMap filter_per_link_
DataSampleElement * next_writer_sample_
DataSampleElement * previous_send_sample_
DDS::ReturnCode_t copy(DDS::DynamicData_ptr dest, DDS::DynamicData_ptr src)
#define OPENDDS_END_VERSIONED_NAMESPACE_DECL
DataSampleElement & operator=(const DataSampleElement &elem)
DataSampleElement * previous_writer_sample_
Thread of all data within a DataWriter.
The Internal API and Implementation of OpenDDS.
Definition: AddressCache.h:28