LCOV - code coverage report
Current view: top level - DCPS - DataSampleElement.cpp (source / functions) Hit Total Coverage
Test: coverage.info Lines: 18 60 30.0 %
Date: 2023-04-30 01:32:43 Functions: 2 5 40.0 %

          Line data    Source code
       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             : 
      17             : OPENDDS_BEGIN_VERSIONED_NAMESPACE_DECL
      18             : 
      19             : namespace OpenDDS {
      20             : namespace DCPS {
      21             : 
      22           2 : DataSampleElement::DataSampleElement(
      23             :   GUID_t           publication_id,
      24             :   TransportSendListener*  send_listener,
      25           2 :   PublicationInstance_rch handle)
      26           2 :   : transaction_id_(0),
      27           2 :     publication_id_(publication_id),
      28           2 :     num_subs_(0),
      29           2 :     send_listener_(send_listener),
      30           2 :     handle_(handle),
      31           2 :     previous_writer_sample_(0),
      32           2 :     next_writer_sample_(0),
      33           2 :     next_instance_sample_(0),
      34           2 :     previous_instance_sample_(0),
      35           2 :     next_send_sample_(0),
      36           4 :     previous_send_sample_(0)
      37             : 
      38             : {
      39           2 :   std::fill(subscription_ids_,
      40           2 :     subscription_ids_ + OpenDDS::DCPS::MAX_READERS_PER_ELEM,
      41             :     GUID_UNKNOWN);
      42           2 : }
      43             : 
      44           0 : DataSampleElement::DataSampleElement(const DataSampleElement& elem)
      45           0 :   : transaction_id_(elem.transaction_id_)
      46           0 :   , header_(elem.header_)
      47           0 :   , sample_(elem.sample_ ? elem.sample_->duplicate() : 0)
      48           0 :   , publication_id_(elem.publication_id_)
      49           0 :   , num_subs_(elem.num_subs_)
      50           0 :   , send_listener_(elem.send_listener_)
      51           0 :   , handle_(elem.handle_)
      52           0 :   , filter_out_(elem.filter_out_)
      53           0 :   , filter_per_link_(elem.filter_per_link_)
      54           0 :   , previous_writer_sample_(elem.previous_writer_sample_)
      55           0 :   , next_writer_sample_(elem.next_writer_sample_)
      56           0 :   , next_instance_sample_(elem.next_instance_sample_)
      57           0 :   , previous_instance_sample_(elem.previous_instance_sample_)
      58           0 :   , next_send_sample_(elem.next_send_sample_)
      59           0 :   , previous_send_sample_(elem.previous_send_sample_)
      60             : 
      61             : {
      62           0 :   std::copy(elem.subscription_ids_,
      63           0 :             elem.subscription_ids_ + num_subs_,
      64           0 :             subscription_ids_);
      65           0 : }
      66             : 
      67           2 : DataSampleElement::~DataSampleElement()
      68             : {
      69           2 : }
      70             : 
      71             : DataSampleElement&
      72           0 : DataSampleElement::operator=(const DataSampleElement& rhs)
      73             : {
      74           0 :   transaction_id_ = rhs.transaction_id_;
      75           0 :   header_ = rhs.header_;
      76           0 :   sample_.reset(rhs.sample_->duplicate());
      77           0 :   publication_id_ = rhs.publication_id_;
      78           0 :   num_subs_ = rhs.num_subs_;
      79             : 
      80           0 :   std::copy(rhs.subscription_ids_,
      81           0 :             rhs.subscription_ids_ + num_subs_,
      82           0 :             subscription_ids_);
      83             : 
      84           0 :   previous_writer_sample_ = rhs.previous_writer_sample_;
      85           0 :   next_writer_sample_ = rhs.next_writer_sample_;
      86           0 :   next_instance_sample_ = rhs.next_instance_sample_;
      87           0 :   previous_instance_sample_ = rhs.previous_instance_sample_;
      88           0 :   next_send_sample_ = rhs.next_send_sample_;
      89           0 :   previous_send_sample_ = rhs.previous_send_sample_;
      90           0 :   send_listener_ = rhs.send_listener_;
      91           0 :   handle_ = rhs.handle_;
      92           0 :   filter_out_ = rhs.filter_out_;
      93           0 :   filter_per_link_ = rhs.filter_per_link_;
      94             : 
      95           0 :   return *this;
      96             : }
      97             : 
      98             : PublicationInstance_rch
      99           0 : DataSampleElement::get_handle() const
     100             : {
     101           0 :   return handle_;
     102             : }
     103             : 
     104             : 
     105             : } // namespace DCPS
     106             : } // namespace OpenDDS
     107             : 
     108             : OPENDDS_END_VERSIONED_NAMESPACE_DECL

Generated by: LCOV version 1.16