OpenSplice ISO C++ 2 DCPS  v6.x
ISO C++ 2 OpenSplice Data Distribution Service Data-Centric Publish-Subscribe API
DomainParticipantImpl.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 OSPL_DDS_DOMAIN_TDOMAINPARTICIPANT_IMPL_HPP_
22 #define OSPL_DDS_DOMAIN_TDOMAINPARTICIPANT_IMPL_HPP_
23 
28 /*
29  * OMG PSM class declaration
30  */
32 #include <org/opensplice/domain/DomainParticipantDelegate.hpp>
33 #include <org/opensplice/core/ReportUtils.hpp>
34 
35 
36 // Implementation
37 
38 namespace dds
39 {
40 namespace domain
41 {
42 
43 
45  ::dds::core::Reference(
46  new DELEGATE(did,
47  org::opensplice::domain::DomainParticipantDelegate::default_participant_qos(),
48  NULL,
49  dds::core::status::StatusMask::none()))
50 {
51  ISOCPP_REPORT_STACK_DDS_BEGIN(*this);
52  this->delegate()->init(this->impl_);
53 }
54 
55 
59  const dds::core::status::StatusMask& mask) :
60  ::dds::core::Reference(new DELEGATE(id, qos, listener, mask))
61 {
62  ISOCPP_REPORT_STACK_DDS_BEGIN(*this);
63  this->delegate()->init(this->impl_);
64 }
65 
66 
67 DomainParticipant::~DomainParticipant() { }
68 
69 
71  const ::dds::core::status::StatusMask& event_mask)
72 {
73  ISOCPP_REPORT_STACK_DDS_BEGIN(*this);
74  this->delegate()->listener(listener, event_mask);
75 }
76 
77 
79 {
80  ISOCPP_REPORT_STACK_DDS_BEGIN(*this);
81  return this->delegate()->listener();
82 }
83 
84 
87 {
88  ISOCPP_REPORT_STACK_DDS_BEGIN(*this);
89  return this->delegate()->qos();
90 }
91 
92 
94 {
95  ISOCPP_REPORT_STACK_DDS_BEGIN(*this);
96  this->delegate()->qos(qos);
97 }
98 
99 
101 {
102  ISOCPP_REPORT_STACK_DDS_BEGIN(*this);
103  return this->delegate()->domain_id();
104 }
105 
106 
108 {
109  ISOCPP_REPORT_STACK_DDS_BEGIN(*this);
110  this->delegate()->assert_liveliness();
111 }
112 
113 
114 bool DomainParticipant::contains_entity(const ::dds::core::InstanceHandle& handle)
115 {
116  ISOCPP_REPORT_STACK_DDS_BEGIN(*this);
117  return this->delegate()->contains_entity(handle);
118 }
119 
120 
122 {
123  ISOCPP_REPORT_STACK_DDS_BEGIN(*this);
124  return this->delegate()->current_time();
125 }
126 
127 
129 {
130  ISOCPP_REPORT_STACK_NC_BEGIN();
131  return DELEGATE::default_participant_qos();
132 }
133 
134 
135 void DomainParticipant::default_participant_qos(const ::dds::domain::qos::DomainParticipantQos& qos)
136 {
137  ISOCPP_REPORT_STACK_NC_BEGIN();
138  DELEGATE::default_participant_qos(qos);
139 }
140 
141 
143 {
144  ISOCPP_REPORT_STACK_DDS_BEGIN(*this);
145  return this->delegate()->default_publisher_qos();
146 }
147 
148 
150  const ::dds::pub::qos::PublisherQos& qos)
151 {
152  ISOCPP_REPORT_STACK_DDS_BEGIN(*this);
153  this->delegate()->default_publisher_qos(qos);
154  return *this;
155 }
156 
157 
159 {
160  ISOCPP_REPORT_STACK_DDS_BEGIN(*this);
161  return this->delegate()->default_subscriber_qos();
162 }
163 
164 
166  const ::dds::sub::qos::SubscriberQos& qos)
167 {
168  ISOCPP_REPORT_STACK_DDS_BEGIN(*this);
169  this->delegate()->default_subscriber_qos(qos);
170  return *this;
171 }
172 
173 
175 {
176  ISOCPP_REPORT_STACK_DDS_BEGIN(*this);
177  return this->delegate()->default_topic_qos();
178 }
179 
180 
182 {
183  ISOCPP_REPORT_STACK_DDS_BEGIN(*this);
184  this->delegate()->default_topic_qos(qos);
185  return *this;
186 }
187 
188 
190 {
191  ISOCPP_REPORT_STACK_DDS_BEGIN(*this);
192  this->qos(qos);
193  return *this;
194 }
195 
196 
198 {
199  ISOCPP_REPORT_STACK_DDS_BEGIN(*this);
200  qos = this->qos();
201  return *this;
202 }
203 
204 }
205 }
206 // End of implementation
207 
208 #endif /* OSPL_DDS_DOMAIN_TDOMAINPARTICIPANT_IMPL_HPP_ */
DomainParticipant & operator<<(const dds::domain::qos::DomainParticipantQos &qos)
Reference(dds::core::null_type &)
This object provides the basic mechanism for an application to specify Quality of Service attributes ...
static dds::domain::qos::DomainParticipantQos default_participant_qos()
const DomainParticipant & operator>>(dds::domain::qos::DomainParticipantQos &qos) const
bool contains_entity(const ::dds::core::InstanceHandle &handle)
A DomainParticipant represents the local membership of the application in a Domain.
dds::pub::qos::PublisherQos default_publisher_qos() const
const dds::domain::qos::DomainParticipantQos & qos() const
Definition: array.hpp:23
StatusMask is a bitmap or bitset field.
Definition: State.hpp:144
This struct provides the basic mechanism for an application to specify Quality of Service attributes ...
Definition: TopicQos.hpp:67
dds::topic::qos::TopicQos default_topic_qos() const
This class provides the basic mechanism for an application to specify Quality of Service attributes f...
This class provides the basic mechanism for an application to specify Quality of Service attributes f...
dds::sub::qos::SubscriberQos default_subscriber_qos() const