/* * 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_SUB_TSUBSCRIBER_IMPL_HPP_ #define CYCLONEDDS_DDS_SUB_TSUBSCRIBER_IMPL_HPP_ /** * @file */ /* * OMG PSM class declaration */ #include // Implementation namespace dds { namespace sub { template TSubscriber::TSubscriber(const ::dds::domain::DomainParticipant& dp) : ::dds::core::Reference(new DELEGATE(dp, dp.default_subscriber_qos(), NULL, dds::core::status::StatusMask::none())) { this->delegate()->init(this->impl_); } template TSubscriber::TSubscriber(const ::dds::domain::DomainParticipant& dp, const dds::sub::qos::SubscriberQos& qos, dds::sub::SubscriberListener* listener, const dds::core::status::StatusMask& mask) : ::dds::core::Reference(new DELEGATE(dp, qos, listener, mask)) { this->delegate()->init(this->impl_); } template void TSubscriber::notify_datareaders() { this->delegate()->notify_datareaders(); } template void TSubscriber::listener(Listener* listener, const dds::core::status::StatusMask& event_mask) { return this->delegate()->listener(listener, event_mask); } template typename TSubscriber::Listener* TSubscriber::listener() const { return this->delegate()->listener(); } template const dds::sub::qos::SubscriberQos& TSubscriber::qos() const { return this->delegate()->qos(); } template void TSubscriber::qos(const dds::sub::qos::SubscriberQos& sqos) { this->delegate()->qos(sqos); } template dds::sub::qos::DataReaderQos TSubscriber::default_datareader_qos() const { return this->delegate()->default_datareader_qos(); } template TSubscriber& TSubscriber::default_datareader_qos( const dds::sub::qos::DataReaderQos& qos) { this->delegate()->default_datareader_qos(qos); return *this; } template const dds::domain::DomainParticipant& TSubscriber::participant() const { return this->delegate()->participant(); } template TSubscriber& TSubscriber::operator << (const dds::sub::qos::SubscriberQos& qos) { this->qos(qos); return *this; } template const TSubscriber& TSubscriber::operator >> (dds::sub::qos::SubscriberQos& qos) const { qos = this->qos(); return *this; } } } // End of implementation #endif /* CYCLONEDDS_DDS_SUB_TSUBSCRIBER_IMPL_HPP_ */