/* * Copyright(c) 2006 to 2021 ZettaScale Technology and others * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0 which is available at * http://www.eclipse.org/legal/epl-2.0, or the Eclipse Distribution License * v. 1.0 which is available at * http://www.eclipse.org/org/documents/edl-v10.php. * * SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause */ #ifndef CYCLONEDDS_DDS_DOMAIN_TDOMAINPARTICIPANT_IMPL_HPP_ #define CYCLONEDDS_DDS_DOMAIN_TDOMAINPARTICIPANT_IMPL_HPP_ /** * @file */ /* * OMG PSM class declaration */ #include #include #include #include // Implementation namespace dds { namespace domain { template TDomainParticipant::TDomainParticipant(uint32_t did): ::dds::core::Reference( new DELEGATE(did, org::eclipse::cyclonedds::domain::DomainParticipantDelegate::default_participant_qos(), NULL, dds::core::status::StatusMask::none(), std::string())) { this->delegate()->init(this->impl_); org::eclipse::cyclonedds::domain::DomainParticipantRegistry::insert(*this); } template TDomainParticipant::TDomainParticipant(uint32_t id, const dds::domain::qos::DomainParticipantQos& qos, dds::domain::DomainParticipantListener* listener, const dds::core::status::StatusMask& mask, const std::string& config) : ::dds::core::Reference(new DELEGATE(id, qos, listener, mask, config)) { this->delegate()->init(this->impl_); org::eclipse::cyclonedds::domain::DomainParticipantRegistry::insert(*this); } template TDomainParticipant::TDomainParticipant(uint32_t id, const dds::domain::qos::DomainParticipantQos& qos, dds::domain::DomainParticipantListener* listener, const dds::core::status::StatusMask& mask, const ddsi_config& config) : ::dds::core::Reference(new DELEGATE(id, qos, listener, mask, config)) { this->delegate()->init(this->impl_); org::eclipse::cyclonedds::domain::DomainParticipantRegistry::insert(*this); } template void TDomainParticipant::listener(Listener* listener, const ::dds::core::status::StatusMask& event_mask) { this->delegate()->listener(listener, event_mask); } template typename TDomainParticipant::Listener* TDomainParticipant::listener() const { return this->delegate()->listener(); } template const dds::domain::qos::DomainParticipantQos& TDomainParticipant::qos() const { return this->delegate()->qos(); } template void TDomainParticipant::qos(const dds::domain::qos::DomainParticipantQos& qos) { this->delegate()->qos(qos); } template uint32_t TDomainParticipant::domain_id() const { return this->delegate()->domain_id(); } template void TDomainParticipant::assert_liveliness() { this->delegate()->assert_liveliness(); } template bool TDomainParticipant::contains_entity(const ::dds::core::InstanceHandle& handle) { return this->delegate()->contains_entity(handle); } template dds::core::Time TDomainParticipant::current_time() const { return this->delegate()->current_time(); } template dds::domain::qos::DomainParticipantQos TDomainParticipant::default_participant_qos() { return DELEGATE::default_participant_qos(); } template void TDomainParticipant::default_participant_qos(const ::dds::domain::qos::DomainParticipantQos& qos) { DELEGATE::default_participant_qos(qos); } template dds::pub::qos::PublisherQos TDomainParticipant::default_publisher_qos() const { return this->delegate()->default_publisher_qos(); } template TDomainParticipant& TDomainParticipant::default_publisher_qos( const ::dds::pub::qos::PublisherQos& qos) { this->delegate()->default_publisher_qos(qos); return *this; } template dds::sub::qos::SubscriberQos TDomainParticipant::default_subscriber_qos() const { return this->delegate()->default_subscriber_qos(); } template TDomainParticipant& TDomainParticipant::default_subscriber_qos( const ::dds::sub::qos::SubscriberQos& qos) { this->delegate()->default_subscriber_qos(qos); return *this; } template dds::topic::qos::TopicQos TDomainParticipant::default_topic_qos() const { return this->delegate()->default_topic_qos(); } template TDomainParticipant& TDomainParticipant::default_topic_qos(const dds::topic::qos::TopicQos& qos) { this->delegate()->default_topic_qos(qos); return *this; } template TDomainParticipant& TDomainParticipant::operator << (const dds::domain::qos::DomainParticipantQos& qos) { this->qos(qos); return *this; } template const TDomainParticipant& TDomainParticipant::operator >> (dds::domain::qos::DomainParticipantQos& qos) const { qos = this->qos(); return *this; } } } // End of implementation #endif /* CYCLONEDDS_DDS_DOMAIN_TDOMAINPARTICIPANT_IMPL_HPP_ */