OpenSplice ISO C++ 2 DCPS  v6.x
ISO C++ 2 OpenSplice Data Distribution Service Data-Centric Publish-Subscribe API
dds::topic::TopicBuiltinTopicData Class Reference

Class that contains information about available Topics within the system. More...

#include "BuiltinTopic.hpp"

Inheritance diagram for dds::topic::TopicBuiltinTopicData:
Inheritance graph

Public Member Functions

const ::dds::core::policy::Deadlinedeadline () const
 
const ::dds::core::policy::DestinationOrderdestination_order () const
 
const ::dds::core::policy::Durabilitydurability () const
 
const ::dds::core::policy::DurabilityServicedurability_service () const
 
const ::dds::core::policy::Historyhistory () const
 
const dds::topic::BuiltinTopicKeykey () const
 
const ::dds::core::policy::LatencyBudgetlatency_budget () const
 
const ::dds::core::policy::Lifespanlifespan () const
 
const ::dds::core::policy::Livelinessliveliness () const
 
const std::string & name () const
 
bool operator!= (const Value &other) const
 
D * operator-> ()
 
const D * operator-> () const
 
bool operator== (const Value &other) const
 
const ::dds::core::policy::Ownershipownership () const
 
const ::dds::core::policy::Reliabilityreliability () const
 
const ::dds::core::policy::ResourceLimitsresource_limits () const
 
const ::dds::core::policy::TopicDatatopic_data () const
 
const ::dds::core::policy::TransportPrioritytransport_priority () const
 
const std::string & type_name () const
 

Detailed Description

Class that contains information about available Topics within the system.

The DCPSTopic topic communicates the existence of topics by means of the TopicBuiltinTopicData datatype. Each TopicBuiltinTopicData sample in a Domain represents a Topic in that Domain: a new TopicBuiltinTopicData instance is created when a newly-added Topic is enabled. However, the instance is not disposed when a Topic is deleted by its participant because a topic lifecycle is tied to the lifecycle of a Domain, not to the lifecycle of an individual participant. An updated TopicBuiltinTopicData sample is written each time a Topic modifies one or more of its QosPolicy values.

// Get builtin subscriber
dds::sub::Subscriber builtinSubscriber = dds::sub::builtin_subscriber(participant);
// Get DCPSTopic builtin reader (happy flow)
string name = "DCPSTopic";
vector<dds::sub::DataReader<dds::topic::TopicBuiltinTopicData> > readersVector;
dds::sub::find<dds::sub::DataReader<dds::topic::TopicBuiltinTopicData>,
back_insert_iterator<vector<dds::sub::DataReader<dds::topic::TopicBuiltinTopicData> > > >(
builtinSubscriber,
back_inserter<vector<dds::sub::DataReader<dds::topic::TopicBuiltinTopicData> > >(readersVector));
// The builtinReader can now be used just as a normal dds::sub::DataReader to get
// dds::topic::TopicBuiltinTopicData samples.
See also
Built-in Topics
TopicBuiltinTopicData

Definition at line 132 of file BuiltinTopic.hpp.

Member Function Documentation

◆ deadline()

const ::dds::core::policy::Deadline & dds::topic::TopicBuiltinTopicData::deadline ( ) const

QosPolicy attached to the Topic

Definition at line 94 of file BuiltinTopicImpl.hpp.

◆ destination_order()

const ::dds::core::policy::DestinationOrder & dds::topic::TopicBuiltinTopicData::destination_order ( ) const

QosPolicy attached to the Topic

Definition at line 136 of file BuiltinTopicImpl.hpp.

◆ durability()

const ::dds::core::policy::Durability & dds::topic::TopicBuiltinTopicData::durability ( ) const

QosPolicy attached to the Topic

Definition at line 77 of file BuiltinTopicImpl.hpp.

◆ durability_service()

const ::dds::core::policy::DurabilityService & dds::topic::TopicBuiltinTopicData::durability_service ( ) const

QosPolicy attached to the Topic

Definition at line 85 of file BuiltinTopicImpl.hpp.

◆ history()

const ::dds::core::policy::History & dds::topic::TopicBuiltinTopicData::history ( ) const

QosPolicy attached to the Topic

Definition at line 142 of file BuiltinTopicImpl.hpp.

◆ key()

const dds::topic::BuiltinTopicKey & dds::topic::TopicBuiltinTopicData::key ( ) const

Global unique identifier of the Topic

Definition at line 56 of file BuiltinTopicImpl.hpp.

◆ latency_budget()

const ::dds::core::policy::LatencyBudget & dds::topic::TopicBuiltinTopicData::latency_budget ( ) const

QosPolicy attached to the Topic

Definition at line 101 of file BuiltinTopicImpl.hpp.

◆ lifespan()

const ::dds::core::policy::Lifespan & dds::topic::TopicBuiltinTopicData::lifespan ( ) const

QosPolicy attached to the Topic

Definition at line 129 of file BuiltinTopicImpl.hpp.

◆ liveliness()

const ::dds::core::policy::Liveliness & dds::topic::TopicBuiltinTopicData::liveliness ( ) const

QosPolicy attached to the Topic

Definition at line 108 of file BuiltinTopicImpl.hpp.

◆ name()

const std::string & dds::topic::TopicBuiltinTopicData::name ( ) const

Name of the Topic

Definition at line 63 of file BuiltinTopicImpl.hpp.

◆ operator!=()

template<typename D >
bool dds::core::Value< D >::operator!= ( const Value< D > &  other) const
inherited

Compare this Value with another Value

Parameters
otherValue
Returns
true if not equal

Definition at line 99 of file Value.hpp.

◆ operator->() [1/2]

template<typename D >
D * dds::core::Value< D >::operator-> ( )
inherited

The operator->() is provided to be able to directly invoke functions on the delegate.

The decision to provide direct access to the delegate was motivated by the need for providing a way that was not invasive with respect to the CXXDDS API and yet would allow for vendor-specific extension. Thus vendor-specific extensions can be invoked on the Value and on all its subclasses as follows:

my_dds_value.standard_function();
my_dds_value->vendor_specific_extension();
Returns
a reference to delegate.

Definition at line 111 of file Value.hpp.

◆ operator->() [2/2]

template<typename D >
const D * dds::core::Value< D >::operator-> ( ) const
inherited

The operator->() is provided to be able to directly invoke functions on the delegate.

The decision to provide direct access to the delegate was motivated by the need for providing a way that was not invasive with respect to the CXXDDS API and yet would allow for vendor-specific extension. Thus vendor-specific extensions can be invoked on the Value and on all its subclasses as follows:

my_dds_value.standard_function();
my_dds_value->vendor_specific_extension();
Returns
a reference to delegate.

Definition at line 105 of file Value.hpp.

◆ operator==()

template<typename D >
bool dds::core::Value< D >::operator== ( const Value< D > &  other) const
inherited

Compare this Value with another Value

Parameters
otherValue
Returns
true if equal

Definition at line 93 of file Value.hpp.

◆ ownership()

const ::dds::core::policy::Ownership & dds::topic::TopicBuiltinTopicData::ownership ( ) const

QosPolicy attached to the Topic

Definition at line 156 of file BuiltinTopicImpl.hpp.

◆ reliability()

const ::dds::core::policy::Reliability & dds::topic::TopicBuiltinTopicData::reliability ( ) const

QosPolicy attached to the Topic

Definition at line 115 of file BuiltinTopicImpl.hpp.

◆ resource_limits()

const ::dds::core::policy::ResourceLimits & dds::topic::TopicBuiltinTopicData::resource_limits ( ) const

QosPolicy attached to the Topic

Definition at line 149 of file BuiltinTopicImpl.hpp.

◆ topic_data()

const ::dds::core::policy::TopicData & dds::topic::TopicBuiltinTopicData::topic_data ( ) const

QosPolicy attached to the Topic

Definition at line 163 of file BuiltinTopicImpl.hpp.

◆ transport_priority()

const ::dds::core::policy::TransportPriority & dds::topic::TopicBuiltinTopicData::transport_priority ( ) const

QosPolicy attached to the Topic

Definition at line 122 of file BuiltinTopicImpl.hpp.

◆ type_name()

const std::string & dds::topic::TopicBuiltinTopicData::type_name ( ) const

Type name of the Topic (i.e. the fully scoped IDL name)

Definition at line 70 of file BuiltinTopicImpl.hpp.


The documentation for this class was generated from the following files: