OpenSplice ISO C++ 2 DCPS  v6.x
ISO C++ 2 OpenSplice Data Distribution Service Data-Centric Publish-Subscribe API
AnyDataWriter.hpp
Go to the documentation of this file.
1 #ifndef OMG_TDDS_PUB_ANY_DATA_WRITER_HPP_
2 #define OMG_TDDS_PUB_ANY_DATA_WRITER_HPP_
3 /* Copyright 2010, Object Management Group, Inc.
4  * Copyright 2010, PrismTech, Corp.
5  * Copyright 2010, Real-Time Innovations, Inc.
6  * All rights 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 #include <dds/core/Entity.hpp>
22 #include <dds/pub/Publisher.hpp>
25 
26 namespace dds
27 {
28 namespace pub
29 {
30 
31 class AnyDataWriter;
32 }
33 }
34 
49 {
50 public:
53 
54 
55  virtual ~AnyDataWriter();
58  //==========================================================================
59  //== Entity Navigation
60 
72  const dds::pub::Publisher& publisher() const;
73 
86 
87 
88 
89  //==========================================================================
90  //== QoS Management
91 
107  qos() const;
108 
141  void qos(const dds::pub::qos::DataWriterQos& qos);
142 
145 
148 
149 
150  //==========================================================================
151  //== ACKs
152 
199  void wait_for_acknowledgments(const dds::core::Duration& timeout);
200 
201  //==========================================================================
202  //== Status Management
203 
228 
251 
277 
319 
320 
321  //==========================================================================
322  //== Liveliness Management
323 
352  void assert_liveliness();
353 
354 };
355 
356 
357 #endif /* OMG_TDDS_PUB_ANY_DATA_WRITER_HPP_ */
This class is the abstract base class for all the DCPS objects.
Definition: Entity.hpp:55
#define OMG_DDS_IMPLICIT_REF_BASE(TYPE)
Definition: refmacros.hpp:70
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()
#define OMG_DDS_REF_TYPE_PROTECTED_DC(TYPE, BASE, DELEGATE)
Definition: refmacros.hpp:159
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()