OpenSplice ISO C++ 2 DCPS  v6.x
ISO C++ 2 OpenSplice Data Distribution Service Data-Centric Publish-Subscribe API
AnyDataWriterImpl.hpp
Go to the documentation of this file.
1 /*
2  * Vortex OpenSplice
3  *
4  * This software and documentation are Copyright 2006 to 2021 ADLINK
5  * Technology Limited, its affiliated companies and licensors. All rights
6  * reserved.
7  *
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  *
20  */
21 #ifndef OMG_DDS_PUB_DETAIL_TANYDATAWRITER_HPP_
22 #define OMG_DDS_PUB_DETAIL_TANYDATAWRITER_HPP_
23 
28 /*
29  * OMG PSM class declaration
30  */
32 
33 // Implementation
34 
35 namespace dds
36 {
37 namespace pub
38 {
39 
40 
41 AnyDataWriter::~AnyDataWriter()
42 {
43 }
44 
45 
48 {
49  ISOCPP_REPORT_STACK_DDS_BEGIN(*this);
50  return this->delegate()->publisher();
51 }
52 
53 
56 {
57  ISOCPP_REPORT_STACK_DDS_BEGIN(*this);
58 
59  return this->delegate()->topic_description();
60 }
61 
62 
65 {
66  ISOCPP_REPORT_STACK_DDS_BEGIN(*this);
67  return this->delegate()->qos();
68 }
69 
70 
71 void
73 {
74  ISOCPP_REPORT_STACK_DDS_BEGIN(*this);
75  this->delegate()->qos(qos);
76 }
77 
78 
81 {
82  ISOCPP_REPORT_STACK_DDS_BEGIN(*this);
83  this->delegate()->qos(qos);
84  return *this;
85 }
86 
87 
88 const AnyDataWriter&
90 {
91  ISOCPP_REPORT_STACK_DDS_BEGIN(*this);
92  qos = this->delegate()->qos();
93  return *this;
94 }
95 
96 
97 void
99 {
100  ISOCPP_REPORT_STACK_DDS_BEGIN(*this);
101  this->delegate()->wait_for_acknowledgments(timeout);
102 }
103 
104 
107 {
108  ISOCPP_REPORT_STACK_DDS_BEGIN(*this);
109  return this->delegate()->liveliness_lost_status();
110 }
111 
112 
115 {
116  ISOCPP_REPORT_STACK_DDS_BEGIN(*this);
117  return this->delegate()->offered_deadline_missed_status();
118 }
119 
120 
123 {
124  ISOCPP_REPORT_STACK_DDS_BEGIN(*this);
125  return this->delegate()->offered_incompatible_qos_status();
126 }
127 
128 
131 {
132  ISOCPP_REPORT_STACK_DDS_BEGIN(*this);
133  return this->delegate()->publication_matched_status();
134 }
135 
136 
137 void
139 {
140  ISOCPP_REPORT_STACK_DDS_BEGIN(*this);
141  this->delegate()->assert_liveliness();
142 }
143 
144 }
145 }
146 // End of implementation
147 
148 #endif /* OMG_DDS_PUB_DETAIL_TANYDATAWRITER_HPP_ */
const dds::pub::Publisher & publisher() const
const dds::topic::TopicDescription & topic_description() const
This class is the base for Topic, ContentFilteredTopic and MultiTopic.
void wait_for_acknowledgments(const dds::core::Duration &timeout)
const dds::core::status::PublicationMatchedStatus publication_matched_status()
const AnyDataWriter & operator>>(dds::pub::qos::DataWriterQos &qos) const
Definition: array.hpp:23
const dds::core::status::OfferedDeadlineMissedStatus offered_deadline_missed_status()
Typeless base class for the typed DataWriter.
This object provides the basic mechanism for an application to specify Quality of Service attributes ...
The Publisher acts on the behalf of one or several DataWriter objects that belong to it...
Definition: Publisher.hpp:55
dds::pub::qos::DataWriterQos qos() const
AnyDataWriter & operator<<(const dds::pub::qos::DataWriterQos &qos)
const dds::core::status::OfferedIncompatibleQosStatus offered_incompatible_qos_status()
const dds::core::status::LivelinessLostStatus liveliness_lost_status()