Go to the documentation of this file.00001 #ifndef OMG_DDS_DOMAIN_DOMAINPARTICIPANT_HPP_
00002 #define OMG_DDS_DOMAIN_DOMAINPARTICIPANT_HPP_
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #include <dds/domain/domainfwd.hpp>
00023 #include <dds/domain/detail/DomainParticipant.hpp>
00024 #include <dds/domain/detail/DomainParticipantHolder.hpp>
00025 #include <dds/core/ref_traits.hpp>
00026
00027 template <typename DELEGATE> template <typename T>
00028 dds::topic::Topic<T>
00029 tdds::domain::DomainParticipant<DELEGATE>::create_topic(
00030 const std::string& topic_name,
00031 const std::string& type_name,
00032 const dds::topic::qos::TopicQos& topic_qos,
00033 dds::topic::TopicListener<T>* a_listener,
00034 const dds::core::status::StatusMask& mask) {
00035 return dds::topic::Topic<T>(
00036 new dds::topic::detail::Topic<T>(
00037 topic_name,
00038 type_name,
00039 topic_qos,
00040 dds::core::smart_ptr_traits<dds::domain::detail::DomainParticipantHolder>::ref_type(
00041 new dds::domain::detail::DomainParticipantHolder(*this))));
00042 }
00043
00044
00045 template <typename DELEGATE> template <typename T>
00046 dds::topic::Topic<T>
00047 tdds::domain::DomainParticipant<DELEGATE>::create_topic(
00048 const std::string& topic_name) {
00049 return dds::topic::Topic<T>(
00050 new dds::topic::detail::Topic<T>(
00051 topic_name,
00052 topic_name,
00053 default_topic_qos(),
00054 dds::core::smart_ptr_traits<dds::domain::detail::DomainParticipantHolder>::
00055 ref_type(
00056 new dds::domain::detail::DomainParticipantHolder(*this))));
00057 }
00058
00059 #endif