DDS-PSM-C++  1.0
ISO C++ API for OpenSplice DDS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
TDomainParticipant.hpp
Go to the documentation of this file.
1 #ifndef OMG_TDDS_DOMAIN_DOMAIN_PARTICIPANT_HPP_
2 #define OMG_TDDS_DOMAIN_DOMAIN_PARTICIPANT_HPP_
3 
4 /* Copyright 2010, Object Management Group, Inc.
5  * Copyright 2010, PrismTech, Corp.
6  * Copyright 2010, Real-Time Innovations, Inc.
7  * All rights reserved.
8  *
9  * Licensed under the Apache License, Version 2.0 (the "License");
10  * you may not use this file except in compliance with the License.
11  * You may obtain a copy of the License at
12  *
13  * http://www.apache.org/licenses/LICENSE-2.0
14  *
15  * Unless required by applicable law or agreed to in writing, software
16  * distributed under the License is distributed on an "AS IS" BASIS,
17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18  * See the License for the specific language governing permissions and
19  * limitations under the License.
20  */
21 
22 #include <string>
23 
25 #include <dds/core/types.hpp>
26 #include <dds/core/Time.hpp>
27 #include <dds/core/TEntity.hpp>
30 
32 
35 
36 
37 namespace dds { namespace domain {
38 
39  template <typename DELEGATE>
41 
42  class DomainParticipantListener;
43 } }
44 
60 template <typename DELEGATE>
62 public:
64 
65 public:
78  TDomainParticipant(uint32_t did)
79  : ::dds::core::TEntity<DELEGATE>(new DELEGATE(did));
80 
92  TDomainParticipant(uint32_t id,
96 
97 public:
99 
100 public:
102 
103 public:
104 
114  void listener(Listener* the_listener,
115  const ::dds::core::status::StatusMask& event_mask);
116 
120  Listener* listener() const;
121 
122 
128  const dds::domain::qos::DomainParticipantQos&
129  qos() const;
130  void qos(const dds::domain::qos::DomainParticipantQos& the_qos);
131 
142  uint32_t domain_id() const;
143 
144 
158  void
160 
161 
176  bool
177  contains_entity(const ::dds::core::InstanceHandle& handle);
178 
184  dds::core::Time
185  current_time();
186 
187 public:
188  // --- DomainParticipant QoS Defaults --- //
189  static dds::domain::qos::DomainParticipantQos default_participant_qos();
190  static void default_participant_qos(const ::dds::domain::qos::DomainParticipantQos& qos);
191 
192  // --- Publisher QoS Defaults --- //
193  dds::pub::qos::PublisherQos default_publisher_qos() const;
194  TDomainParticipant& default_publisher_qos(const ::dds::pub::qos::PublisherQos& qos);
195 
196  // --- Subscriber QoS Defaults --- //
197  dds::sub::qos::SubscriberQos default_subscriber_qos() const;
198  TDomainParticipant& default_subscriber_qos(const ::dds::sub::qos::SubscriberQos& qos);
199 
200  // --- Topic QoS Defaults --- //
201  dds::topic::qos::TopicQos default_topic_qos() const;
202  TDomainParticipant& default_topic_qos(const dds::topic::qos::TopicQos& qos);
203 
204  //=============================================================================
205 };
206 
207 
208 #endif /* OMG_TDDS_DOMAIN_DOMAIN_PARTICIPANT_HPP_ */