194 lines
5.7 KiB
C++
194 lines
5.7 KiB
C++
/*
|
|
* 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 <dds/domain/TDomainParticipant.hpp>
|
|
#include <org/eclipse/cyclonedds/domain/DomainParticipantDelegate.hpp>
|
|
#include <org/eclipse/cyclonedds/domain/DomainParticipantRegistry.hpp>
|
|
#include <org/eclipse/cyclonedds/core/ReportUtils.hpp>
|
|
|
|
|
|
// Implementation
|
|
|
|
namespace dds
|
|
{
|
|
namespace domain
|
|
{
|
|
|
|
template <typename DELEGATE>
|
|
TDomainParticipant<DELEGATE>::TDomainParticipant(uint32_t did):
|
|
::dds::core::Reference<DELEGATE>(
|
|
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 <typename DELEGATE>
|
|
TDomainParticipant<DELEGATE>::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<DELEGATE>(new DELEGATE(id, qos, listener, mask, config))
|
|
{
|
|
this->delegate()->init(this->impl_);
|
|
org::eclipse::cyclonedds::domain::DomainParticipantRegistry::insert(*this);
|
|
}
|
|
|
|
template <typename DELEGATE>
|
|
TDomainParticipant<DELEGATE>::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<DELEGATE>(new DELEGATE(id, qos, listener, mask, config))
|
|
{
|
|
this->delegate()->init(this->impl_);
|
|
org::eclipse::cyclonedds::domain::DomainParticipantRegistry::insert(*this);
|
|
}
|
|
|
|
template <typename DELEGATE>
|
|
void TDomainParticipant<DELEGATE>::listener(Listener* listener,
|
|
const ::dds::core::status::StatusMask& event_mask)
|
|
{
|
|
this->delegate()->listener(listener, event_mask);
|
|
}
|
|
|
|
template <typename DELEGATE>
|
|
typename TDomainParticipant<DELEGATE>::Listener* TDomainParticipant<DELEGATE>::listener() const
|
|
{
|
|
return this->delegate()->listener();
|
|
}
|
|
|
|
template <typename DELEGATE>
|
|
const dds::domain::qos::DomainParticipantQos&
|
|
TDomainParticipant<DELEGATE>::qos() const
|
|
{
|
|
return this->delegate()->qos();
|
|
}
|
|
|
|
template <typename DELEGATE>
|
|
void TDomainParticipant<DELEGATE>::qos(const dds::domain::qos::DomainParticipantQos& qos)
|
|
{
|
|
this->delegate()->qos(qos);
|
|
}
|
|
|
|
template <typename DELEGATE>
|
|
uint32_t TDomainParticipant<DELEGATE>::domain_id() const
|
|
{
|
|
return this->delegate()->domain_id();
|
|
}
|
|
|
|
template <typename DELEGATE>
|
|
void TDomainParticipant<DELEGATE>::assert_liveliness()
|
|
{
|
|
this->delegate()->assert_liveliness();
|
|
}
|
|
|
|
template <typename DELEGATE>
|
|
bool TDomainParticipant<DELEGATE>::contains_entity(const ::dds::core::InstanceHandle& handle)
|
|
{
|
|
return this->delegate()->contains_entity(handle);
|
|
}
|
|
|
|
template <typename DELEGATE>
|
|
dds::core::Time TDomainParticipant<DELEGATE>::current_time() const
|
|
{
|
|
return this->delegate()->current_time();
|
|
}
|
|
|
|
template <typename DELEGATE>
|
|
dds::domain::qos::DomainParticipantQos TDomainParticipant<DELEGATE>::default_participant_qos()
|
|
{
|
|
return DELEGATE::default_participant_qos();
|
|
}
|
|
|
|
template <typename DELEGATE>
|
|
void TDomainParticipant<DELEGATE>::default_participant_qos(const ::dds::domain::qos::DomainParticipantQos& qos)
|
|
{
|
|
DELEGATE::default_participant_qos(qos);
|
|
}
|
|
|
|
template <typename DELEGATE>
|
|
dds::pub::qos::PublisherQos TDomainParticipant<DELEGATE>::default_publisher_qos() const
|
|
{
|
|
return this->delegate()->default_publisher_qos();
|
|
}
|
|
|
|
template <typename DELEGATE>
|
|
TDomainParticipant<DELEGATE>& TDomainParticipant<DELEGATE>::default_publisher_qos(
|
|
const ::dds::pub::qos::PublisherQos& qos)
|
|
{
|
|
this->delegate()->default_publisher_qos(qos);
|
|
return *this;
|
|
}
|
|
|
|
template <typename DELEGATE>
|
|
dds::sub::qos::SubscriberQos TDomainParticipant<DELEGATE>::default_subscriber_qos() const
|
|
{
|
|
return this->delegate()->default_subscriber_qos();
|
|
}
|
|
|
|
template <typename DELEGATE>
|
|
TDomainParticipant<DELEGATE>& TDomainParticipant<DELEGATE>::default_subscriber_qos(
|
|
const ::dds::sub::qos::SubscriberQos& qos)
|
|
{
|
|
this->delegate()->default_subscriber_qos(qos);
|
|
return *this;
|
|
}
|
|
|
|
template <typename DELEGATE>
|
|
dds::topic::qos::TopicQos TDomainParticipant<DELEGATE>::default_topic_qos() const
|
|
{
|
|
return this->delegate()->default_topic_qos();
|
|
}
|
|
|
|
template <typename DELEGATE>
|
|
TDomainParticipant<DELEGATE>& TDomainParticipant<DELEGATE>::default_topic_qos(const dds::topic::qos::TopicQos& qos)
|
|
{
|
|
this->delegate()->default_topic_qos(qos);
|
|
return *this;
|
|
}
|
|
|
|
template <typename DELEGATE>
|
|
TDomainParticipant<DELEGATE>& TDomainParticipant<DELEGATE>::operator << (const dds::domain::qos::DomainParticipantQos& qos)
|
|
{
|
|
this->qos(qos);
|
|
return *this;
|
|
}
|
|
|
|
template <typename DELEGATE>
|
|
const TDomainParticipant<DELEGATE>& TDomainParticipant<DELEGATE>::operator >> (dds::domain::qos::DomainParticipantQos& qos) const
|
|
{
|
|
qos = this->qos();
|
|
return *this;
|
|
}
|
|
|
|
}
|
|
}
|
|
// End of implementation
|
|
|
|
#endif /* CYCLONEDDS_DDS_DOMAIN_TDOMAINPARTICIPANT_IMPL_HPP_ */
|