Fast DDS  Version 3.0.0
Fast DDS
Loading...
Searching...
No Matches
DomainParticipant Class Reference

Class DomainParticipant used to group Publishers and Subscribers into a single working unit. More...

#include <DomainParticipant.hpp>

Inheritance diagram for DomainParticipant:

Public Member Functions

virtual ~DomainParticipant ()
 Destructor.
 
FASTDDS_EXPORTED_API ReturnCode_t get_qos (DomainParticipantQos &qos) const
 This operation returns the value of the DomainParticipant QoS policies.
 
FASTDDS_EXPORTED_API const DomainParticipantQosget_qos () const
 This operation returns the value of the DomainParticipant QoS policies.
 
FASTDDS_EXPORTED_API ReturnCode_t set_qos (const DomainParticipantQos &qos) const
 This operation sets the value of the DomainParticipant QoS policies.
 
FASTDDS_EXPORTED_API const DomainParticipantListenerget_listener () const
 Allows accessing the DomainParticipantListener.
 
FASTDDS_EXPORTED_API ReturnCode_t set_listener (DomainParticipantListener *listener)
 Modifies the DomainParticipantListener, sets the mask to StatusMask::all()
 
FASTDDS_EXPORTED_API ReturnCode_t set_listener (DomainParticipantListener *listener, const std::chrono::seconds timeout)
 Modifies the DomainParticipantListener, sets the mask to StatusMask::all()
 
FASTDDS_EXPORTED_API ReturnCode_t set_listener (DomainParticipantListener *listener, const StatusMask &mask)
 Modifies the DomainParticipantListener.
 
FASTDDS_EXPORTED_API ReturnCode_t set_listener (DomainParticipantListener *listener, const StatusMask &mask, const std::chrono::seconds timeout)
 Modifies the DomainParticipantListener.
 
FASTDDS_EXPORTED_API ReturnCode_t enable () override
 This operation enables the DomainParticipant.
 
FASTDDS_EXPORTED_API Publishercreate_publisher (const PublisherQos &qos, PublisherListener *listener=nullptr, const StatusMask &mask=StatusMask::all())
 Create a Publisher in this Participant.
 
FASTDDS_EXPORTED_API Publishercreate_publisher_with_profile (const std::string &profile_name, PublisherListener *listener=nullptr, const StatusMask &mask=StatusMask::all())
 Create a Publisher in this Participant.
 
FASTDDS_EXPORTED_API ReturnCode_t delete_publisher (const Publisher *publisher)
 Deletes an existing Publisher.
 
FASTDDS_EXPORTED_API Subscribercreate_subscriber (const SubscriberQos &qos, SubscriberListener *listener=nullptr, const StatusMask &mask=StatusMask::all())
 Create a Subscriber in this Participant.
 
FASTDDS_EXPORTED_API Subscribercreate_subscriber_with_profile (const std::string &profile_name, SubscriberListener *listener=nullptr, const StatusMask &mask=StatusMask::all())
 Create a Subscriber in this Participant.
 
FASTDDS_EXPORTED_API ReturnCode_t delete_subscriber (const Subscriber *subscriber)
 Deletes an existing Subscriber.
 
FASTDDS_EXPORTED_API Topiccreate_topic (const std::string &topic_name, const std::string &type_name, const TopicQos &qos, TopicListener *listener=nullptr, const StatusMask &mask=StatusMask::all())
 Create a Topic in this Participant.
 
FASTDDS_EXPORTED_API Topiccreate_topic_with_profile (const std::string &topic_name, const std::string &type_name, const std::string &profile_name, TopicListener *listener=nullptr, const StatusMask &mask=StatusMask::all())
 Create a Topic in this Participant.
 
FASTDDS_EXPORTED_API ReturnCode_t delete_topic (const Topic *topic)
 Deletes an existing Topic.
 
FASTDDS_EXPORTED_API ContentFilteredTopiccreate_contentfilteredtopic (const std::string &name, Topic *related_topic, const std::string &filter_expression, const std::vector< std::string > &expression_parameters)
 Create a ContentFilteredTopic in this Participant.
 
FASTDDS_EXPORTED_API ContentFilteredTopiccreate_contentfilteredtopic (const std::string &name, Topic *related_topic, const std::string &filter_expression, const std::vector< std::string > &expression_parameters, const char *filter_class_name)
 Create a ContentFilteredTopic in this Participant using a custom filter.
 
FASTDDS_EXPORTED_API ReturnCode_t delete_contentfilteredtopic (const ContentFilteredTopic *a_contentfilteredtopic)
 Deletes an existing ContentFilteredTopic.
 
FASTDDS_EXPORTED_API MultiTopic * create_multitopic (const std::string &name, const std::string &type_name, const std::string &subscription_expression, const std::vector< std::string > &expression_parameters)
 Create a MultiTopic in this Participant.
 
FASTDDS_EXPORTED_API ReturnCode_t delete_multitopic (const MultiTopic *a_multitopic)
 Deletes an existing MultiTopic.
 
FASTDDS_EXPORTED_API Topicfind_topic (const std::string &topic_name, const fastdds::dds::Duration_t &timeout)
 Gives access to an existing (or ready to exist) enabled Topic.
 
FASTDDS_EXPORTED_API TopicDescriptionlookup_topicdescription (const std::string &topic_name) const
 Looks up an existing, locally created TopicDescription, based on its name.
 
FASTDDS_EXPORTED_API const Subscriberget_builtin_subscriber () const
 Allows access to the builtin Subscriber.
 
FASTDDS_EXPORTED_API ReturnCode_t ignore_participant (const InstanceHandle_t &handle)
 Locally ignore a remote domain participant.
 
FASTDDS_EXPORTED_API ReturnCode_t ignore_topic (const InstanceHandle_t &handle)
 Locally ignore a topic.
 
FASTDDS_EXPORTED_API ReturnCode_t ignore_publication (const InstanceHandle_t &handle)
 Locally ignore a remote datawriter.
 
FASTDDS_EXPORTED_API ReturnCode_t ignore_subscription (const InstanceHandle_t &handle)
 Locally ignore a remote datareader.
 
FASTDDS_EXPORTED_API DomainId_t get_domain_id () const
 This operation retrieves the domain_id used to create the DomainParticipant.
 
FASTDDS_EXPORTED_API ReturnCode_t delete_contained_entities ()
 Deletes all the entities that were created by means of the “create” methods.
 
FASTDDS_EXPORTED_API ReturnCode_t assert_liveliness ()
 This operation manually asserts the liveliness of the DomainParticipant.
 
FASTDDS_EXPORTED_API ReturnCode_t set_default_publisher_qos (const PublisherQos &qos)
 This operation sets a default value of the Publisher QoS policies which will be used for newly created Publisher entities in the case where the QoS policies are defaulted in the create_publisher operation.
 
FASTDDS_EXPORTED_API const PublisherQosget_default_publisher_qos () const
 This operation retrieves the default value of the Publisher QoS, that is, the QoS policies which will be used for newly created Publisher entities in the case where the QoS policies are defaulted in the create_publisher operation.
 
FASTDDS_EXPORTED_API ReturnCode_t get_default_publisher_qos (PublisherQos &qos) const
 This operation retrieves the default value of the Publisher QoS, that is, the QoS policies which will be used for newly created Publisher entities in the case where the QoS policies are defaulted in the create_publisher operation.
 
FASTDDS_EXPORTED_API ReturnCode_t get_publisher_qos_from_profile (const std::string &profile_name, PublisherQos &qos) const
 Fills the PublisherQos with the values of the XML profile.
 
FASTDDS_EXPORTED_API ReturnCode_t set_default_subscriber_qos (const SubscriberQos &qos)
 This operation sets a default value of the Subscriber QoS policies that will be used for newly created Subscriber entities in the case where the QoS policies are defaulted in the create_subscriber operation.
 
FASTDDS_EXPORTED_API const SubscriberQosget_default_subscriber_qos () const
 This operation retrieves the default value of the Subscriber QoS, that is, the QoS policies which will be used for newly created Subscriber entities in the case where the QoS policies are defaulted in the create_subscriber operation.
 
FASTDDS_EXPORTED_API ReturnCode_t get_default_subscriber_qos (SubscriberQos &qos) const
 This operation retrieves the default value of the Subscriber QoS, that is, the QoS policies which will be used for newly created Subscriber entities in the case where the QoS policies are defaulted in the create_subscriber operation.
 
FASTDDS_EXPORTED_API ReturnCode_t get_subscriber_qos_from_profile (const std::string &profile_name, SubscriberQos &qos) const
 Fills the SubscriberQos with the values of the XML profile.
 
FASTDDS_EXPORTED_API ReturnCode_t set_default_topic_qos (const TopicQos &qos)
 This operation sets a default value of the Topic QoS policies which will be used for newly created Topic entities in the case where the QoS policies are defaulted in the create_topic operation.
 
FASTDDS_EXPORTED_API const TopicQosget_default_topic_qos () const
 This operation retrieves the default value of the Topic QoS, that is, the QoS policies that will be used for newly created Topic entities in the case where the QoS policies are defaulted in the create_topic operation.
 
FASTDDS_EXPORTED_API ReturnCode_t get_default_topic_qos (TopicQos &qos) const
 This operation retrieves the default value of the Topic QoS, that is, the QoS policies that will be used for newly created Topic entities in the case where the QoS policies are defaulted in the create_topic operation.
 
FASTDDS_EXPORTED_API ReturnCode_t get_topic_qos_from_profile (const std::string &profile_name, TopicQos &qos) const
 Fills the TopicQos with the values of the XML profile.
 
FASTDDS_EXPORTED_API ReturnCode_t get_replier_qos_from_profile (const std::string &profile_name, ReplierQos &qos) const
 Fills the ReplierQos with the values of the XML profile.
 
FASTDDS_EXPORTED_API ReturnCode_t get_requester_qos_from_profile (const std::string &profile_name, RequesterQos &qos) const
 Fills the RequesterQos with the values of the XML profile.
 
FASTDDS_EXPORTED_API ReturnCode_t get_discovered_participants (std::vector< InstanceHandle_t > &participant_handles) const
 Retrieves the list of DomainParticipants that have been discovered in the domain and are not "ignored".
 
FASTDDS_EXPORTED_API ReturnCode_t get_discovered_participant_data (ParticipantBuiltinTopicData &participant_data, const InstanceHandle_t &participant_handle) const
 Retrieves the DomainParticipant data of a discovered not ignored participant.
 
FASTDDS_EXPORTED_API ReturnCode_t get_discovered_topics (std::vector< InstanceHandle_t > &topic_handles) const
 Retrieves the list of topics that have been discovered in the domain and are not "ignored".
 
FASTDDS_EXPORTED_API ReturnCode_t get_discovered_topic_data (builtin::TopicBuiltinTopicData &topic_data, const InstanceHandle_t &topic_handle) const
 Retrieves the Topic data of a discovered not ignored topic.
 
FASTDDS_EXPORTED_API bool contains_entity (const InstanceHandle_t &a_handle, bool recursive=true) const
 This operation checks whether or not the given handle represents an Entity that was created from the DomainParticipant.
 
FASTDDS_EXPORTED_API ReturnCode_t get_current_time (fastdds::dds::Time_t &current_time) const
 This operation returns the current value of the time that the service uses to time-stamp data-writes and to set the reception-timestamp for the data-updates it receives.
 
FASTDDS_EXPORTED_API ReturnCode_t register_type (TypeSupport type, const std::string &type_name)
 Register a type in this participant.
 
FASTDDS_EXPORTED_API ReturnCode_t register_type (TypeSupport type)
 Register a type in this participant.
 
FASTDDS_EXPORTED_API ReturnCode_t unregister_type (const std::string &typeName)
 Unregister a type in this participant.
 
FASTDDS_EXPORTED_API TypeSupport find_type (const std::string &type_name) const
 This method gives access to a registered type based on its name.
 
FASTDDS_EXPORTED_API const InstanceHandle_tget_instance_handle () const
 Returns the DomainParticipant's handle.
 
FASTDDS_EXPORTED_API const fastdds::rtps::GUID_tguid () const
 Getter for the Participant GUID.
 
FASTDDS_EXPORTED_API std::vector< std::string > get_participant_names () const
 Getter for the participant names.
 
FASTDDS_EXPORTED_API bool new_remote_endpoint_discovered (const fastdds::rtps::GUID_t &partguid, uint16_t userId, fastdds::rtps::EndpointKind_t kind)
 This method can be used when using a StaticEndpointDiscovery mechanism different that the one included in Fast DDS, for example when communicating with other implementations.
 
FASTDDS_EXPORTED_API ReturnCode_t register_content_filter_factory (const char *filter_class_name, IContentFilterFactory *const filter_factory)
 Register a custom content filter factory, which can be used to create a ContentFilteredTopic.
 
FASTDDS_EXPORTED_API IContentFilterFactorylookup_content_filter_factory (const char *filter_class_name)
 Lookup a custom content filter factory previously registered with register_content_filter_factory.
 
FASTDDS_EXPORTED_API ReturnCode_t unregister_content_filter_factory (const char *filter_class_name)
 Unregister a custom content filter factory previously registered with register_content_filter_factory.
 
bool has_active_entities ()
 Check if the Participant has any Publisher, Subscriber or Topic.
 
- Public Member Functions inherited from Entity
FASTDDS_EXPORTED_API Entity (const StatusMask &mask=StatusMask::all())
 Constructor.
 
void close ()
 This operation disables the Entity before closing it.
 
FASTDDS_EXPORTED_API const StatusMaskget_status_mask () const
 Retrieves the set of relevant statuses for the Entity.
 
FASTDDS_EXPORTED_API const StatusMaskget_status_changes () const
 Retrieves the set of triggered statuses in the Entity.
 
const InstanceHandle_tget_instance_handle () const
 Retrieves the instance handler that represents the Entity.
 
FASTDDS_EXPORTED_API bool is_enabled () const
 Checks if the Entity is enabled.
 
FASTDDS_EXPORTED_API bool operator== (const Entity &other) const
 
FASTDDS_EXPORTED_API StatusConditionget_statuscondition ()
 Allows access to the StatusCondition associated with the Entity.
 

Protected Member Functions

 DomainParticipant (const StatusMask &mask=StatusMask::all())
 
- Protected Member Functions inherited from Entity
FASTDDS_EXPORTED_API void set_instance_handle (const InstanceHandle_t &handle)
 Setter for the Instance Handle.
 

Protected Attributes

DomainParticipantImplimpl_
 
- Protected Attributes inherited from Entity
StatusMask status_mask_
 StatusMask with relevant statuses set to 1.
 
StatusCondition status_condition_
 Condition associated to the Entity.
 
InstanceHandle_t instance_handle_
 InstanceHandle associated to the Entity.
 
bool enable_
 Boolean that states if the Entity is enabled or disabled.
 

Friends

class DomainParticipantFactory
 
class DomainParticipantImpl
 
class ::dds::domain::DomainParticipant
 

Detailed Description

Class DomainParticipant used to group Publishers and Subscribers into a single working unit.

Constructor & Destructor Documentation

◆ ~DomainParticipant()

virtual ~DomainParticipant ( )
virtual

Destructor.

◆ DomainParticipant()

DomainParticipant ( const StatusMask mask = StatusMask::all())
protected

Member Function Documentation

◆ assert_liveliness()

FASTDDS_EXPORTED_API ReturnCode_t assert_liveliness ( )

This operation manually asserts the liveliness of the DomainParticipant.

This is used in combination with the LIVELINESS QoS policy to indicate to the Service that the entity remains active.

This operation needs to only be used if the DomainParticipant contains DataWriter entities with the LIVELINESS set to MANUAL_BY_PARTICIPANT and it only affects the liveliness of those DataWriter entities. Otherwise, it has no effect.

Note
Writing data via the write operation on a DataWriter asserts liveliness on the DataWriter itself and its DomainParticipant. Consequently the use of assert_liveliness is only needed if the application is not writing data regularly.
Returns
RETCODE_OK if the liveliness was asserted, RETCODE_ERROR otherwise.

◆ contains_entity()

FASTDDS_EXPORTED_API bool contains_entity ( const InstanceHandle_t a_handle,
bool  recursive = true 
) const

This operation checks whether or not the given handle represents an Entity that was created from the DomainParticipant.

Parameters
a_handleInstanceHandle of the entity to look for.
recursiveThe containment applies recursively. That is, it applies both to entities (TopicDescription, Publisher, or Subscriber) created directly using the DomainParticipant as well as entities created using a contained Publisher, or Subscriber as the factory, and so forth. (default: true)
Returns
True if entity is contained. False otherwise.

◆ create_contentfilteredtopic() [1/2]

FASTDDS_EXPORTED_API ContentFilteredTopic * create_contentfilteredtopic ( const std::string &  name,
Topic related_topic,
const std::string &  filter_expression,
const std::vector< std::string > &  expression_parameters 
)

Create a ContentFilteredTopic in this Participant.

Parameters
nameName of the ContentFilteredTopic
related_topicRelated Topic to being subscribed
filter_expressionLogic expression to create filter
expression_parametersParameters to filter content
Returns
Pointer to the created ContentFilteredTopic.
nullptr if related_topic does not belong to this participant.
nullptr if a topic with the specified name has already been created.
nullptr if a filter cannot be created with the specified filter_expression and expression_parameters.

◆ create_contentfilteredtopic() [2/2]

FASTDDS_EXPORTED_API ContentFilteredTopic * create_contentfilteredtopic ( const std::string &  name,
Topic related_topic,
const std::string &  filter_expression,
const std::vector< std::string > &  expression_parameters,
const char *  filter_class_name 
)

Create a ContentFilteredTopic in this Participant using a custom filter.

Parameters
nameName of the ContentFilteredTopic
related_topicRelated Topic to being subscribed
filter_expressionLogic expression to create filter
expression_parametersParameters to filter content
filter_class_nameName of the filter class to use
Returns
Pointer to the created ContentFilteredTopic.
nullptr if related_topic does not belong to this participant.
nullptr if a topic with the specified name has already been created.
nullptr if a filter cannot be created with the specified filter_expression and expression_parameters.
nullptr if the specified filter_class_name has not been registered.

◆ create_multitopic()

FASTDDS_EXPORTED_API MultiTopic * create_multitopic ( const std::string &  name,
const std::string &  type_name,
const std::string &  subscription_expression,
const std::vector< std::string > &  expression_parameters 
)

Create a MultiTopic in this Participant.

Parameters
nameName of the MultiTopic
type_nameResult type of the MultiTopic
subscription_expressionLogic expression to combine filter
expression_parametersParameters to subscription content
Returns
Pointer to the created ContentFilteredTopic, nullptr in error case

◆ create_publisher()

FASTDDS_EXPORTED_API Publisher * create_publisher ( const PublisherQos qos,
PublisherListener listener = nullptr,
const StatusMask mask = StatusMask::all() 
)

Create a Publisher in this Participant.

Parameters
qosQoS of the Publisher.
listenerPointer to the listener (default: nullptr)
maskStatusMask that holds statuses the listener responds to (default: all)
Returns
Pointer to the created Publisher.

◆ create_publisher_with_profile()

FASTDDS_EXPORTED_API Publisher * create_publisher_with_profile ( const std::string &  profile_name,
PublisherListener listener = nullptr,
const StatusMask mask = StatusMask::all() 
)

Create a Publisher in this Participant.

Parameters
profile_namePublisher profile name.
listenerPointer to the listener (default: nullptr)
maskStatusMask that holds statuses the listener responds to (default: all)
Returns
Pointer to the created Publisher.

◆ create_subscriber()

FASTDDS_EXPORTED_API Subscriber * create_subscriber ( const SubscriberQos qos,
SubscriberListener listener = nullptr,
const StatusMask mask = StatusMask::all() 
)

Create a Subscriber in this Participant.

Parameters
qosQoS of the Subscriber.
listenerPointer to the listener (default: nullptr)
maskStatusMask that holds statuses the listener responds to (default: all)
Returns
Pointer to the created Subscriber.

◆ create_subscriber_with_profile()

FASTDDS_EXPORTED_API Subscriber * create_subscriber_with_profile ( const std::string &  profile_name,
SubscriberListener listener = nullptr,
const StatusMask mask = StatusMask::all() 
)

Create a Subscriber in this Participant.

Parameters
profile_nameSubscriber profile name.
listenerPointer to the listener (default: nullptr)
maskStatusMask that holds statuses the listener responds to (default: all)
Returns
Pointer to the created Subscriber.

◆ create_topic()

FASTDDS_EXPORTED_API Topic * create_topic ( const std::string &  topic_name,
const std::string &  type_name,
const TopicQos qos,
TopicListener listener = nullptr,
const StatusMask mask = StatusMask::all() 
)

Create a Topic in this Participant.

Parameters
topic_nameName of the Topic.
type_nameData type of the Topic.
qosQoS of the Topic.
listenerPointer to the listener (default: nullptr)
maskStatusMask that holds statuses the listener responds to (default: all)
Returns
Pointer to the created Topic.

◆ create_topic_with_profile()

FASTDDS_EXPORTED_API Topic * create_topic_with_profile ( const std::string &  topic_name,
const std::string &  type_name,
const std::string &  profile_name,
TopicListener listener = nullptr,
const StatusMask mask = StatusMask::all() 
)

Create a Topic in this Participant.

Parameters
topic_nameName of the Topic.
type_nameData type of the Topic.
profile_nameTopic profile name.
listenerPointer to the listener (default: nullptr)
maskStatusMask that holds statuses the listener responds to (default: all)
Returns
Pointer to the created Topic.

◆ delete_contained_entities()

FASTDDS_EXPORTED_API ReturnCode_t delete_contained_entities ( )

Deletes all the entities that were created by means of the “create” methods.

Returns
RETURN_OK code if everything correct, error code otherwise

◆ delete_contentfilteredtopic()

FASTDDS_EXPORTED_API ReturnCode_t delete_contentfilteredtopic ( const ContentFilteredTopic a_contentfilteredtopic)

Deletes an existing ContentFilteredTopic.

Parameters
a_contentfilteredtopicContentFilteredTopic to be deleted
Returns
RETCODE_BAD_PARAMETER if the topic passed is a nullptr, RETCODE_PRECONDITION_NOT_MET if the topic does not belong to this participant or if it is referenced by any entity and RETCODE_OK if the ContentFilteredTopic was deleted.

◆ delete_multitopic()

FASTDDS_EXPORTED_API ReturnCode_t delete_multitopic ( const MultiTopic *  a_multitopic)

Deletes an existing MultiTopic.

Parameters
a_multitopicMultiTopic to be deleted
Returns
RETCODE_BAD_PARAMETER if the topic passed is a nullptr, RETCODE_PRECONDITION_NOT_MET if the topic does not belong to this participant or if it is referenced by any entity and RETCODE_OK if the Topic was deleted.
Warning
Not supported yet. Currently returns RETCODE_UNSUPPORTED

◆ delete_publisher()

FASTDDS_EXPORTED_API ReturnCode_t delete_publisher ( const Publisher publisher)

Deletes an existing Publisher.

Parameters
publisherto be deleted.
Returns
RETCODE_PRECONDITION_NOT_MET if the publisher does not belong to this participant or if it has active DataWriters, RETCODE_OK if it is correctly deleted and RETCODE_ERROR otherwise.

◆ delete_subscriber()

FASTDDS_EXPORTED_API ReturnCode_t delete_subscriber ( const Subscriber subscriber)

Deletes an existing Subscriber.

Parameters
subscriberto be deleted.
Returns
RETCODE_PRECONDITION_NOT_MET if the subscriber does not belong to this participant or if it has active DataReaders, RETCODE_OK if it is correctly deleted and RETCODE_ERROR otherwise.

◆ delete_topic()

FASTDDS_EXPORTED_API ReturnCode_t delete_topic ( const Topic topic)

Deletes an existing Topic.

Parameters
topicto be deleted.
Returns
RETCODE_BAD_PARAMETER if the topic passed is a nullptr, RETCODE_PRECONDITION_NOT_MET if the topic does not belong to this participant or if it is referenced by any entity and RETCODE_OK if the Topic was deleted.

◆ enable()

FASTDDS_EXPORTED_API ReturnCode_t enable ( )
overridevirtual

This operation enables the DomainParticipant.

Returns
RETCODE_OK

Reimplemented from Entity.

◆ find_topic()

FASTDDS_EXPORTED_API Topic * find_topic ( const std::string &  topic_name,
const fastdds::dds::Duration_t timeout 
)

Gives access to an existing (or ready to exist) enabled Topic.

It should be noted that the returned Topic is a local object that acts as a proxy to designate the global concept of topic. Topics obtained by means of find_topic, must also be deleted by means of delete_topic so that the local resources can be released. If a Topic is obtained multiple times by means of find_topic or create_topic, it must also be deleted that same number of times using delete_topic.

Parameters
topic_nameTopic name
timeoutMaximum time to wait for the Topic
Returns
Pointer to the existing Topic, nullptr in case of error or timeout

◆ find_type()

FASTDDS_EXPORTED_API TypeSupport find_type ( const std::string &  type_name) const

This method gives access to a registered type based on its name.

Parameters
type_nameName of the type
Returns
TypeSupport corresponding to the type_name

◆ get_builtin_subscriber()

FASTDDS_EXPORTED_API const Subscriber * get_builtin_subscriber ( ) const

Allows access to the builtin Subscriber.

Returns
Pointer to the builtin Subscriber, nullptr in error case

◆ get_current_time()

FASTDDS_EXPORTED_API ReturnCode_t get_current_time ( fastdds::dds::Time_t current_time) const

This operation returns the current value of the time that the service uses to time-stamp data-writes and to set the reception-timestamp for the data-updates it receives.

Parameters
current_timeTime_t reference where the current time is returned
Returns
RETCODE_OK

◆ get_default_publisher_qos() [1/2]

FASTDDS_EXPORTED_API const PublisherQos & get_default_publisher_qos ( ) const

This operation retrieves the default value of the Publisher QoS, that is, the QoS policies which will be used for newly created Publisher entities in the case where the QoS policies are defaulted in the create_publisher operation.

The values retrieved get_default_publisher_qos will match the set of values specified on the last successful call to set_default_publisher_qos, or else, if the call was never made, the default values.

Returns
Current default publisher qos.

◆ get_default_publisher_qos() [2/2]

FASTDDS_EXPORTED_API ReturnCode_t get_default_publisher_qos ( PublisherQos qos) const

This operation retrieves the default value of the Publisher QoS, that is, the QoS policies which will be used for newly created Publisher entities in the case where the QoS policies are defaulted in the create_publisher operation.

The values retrieved get_default_publisher_qos will match the set of values specified on the last successful call to set_default_publisher_qos, or else, if the call was never made, the default values.

Parameters
qosPublisherQos reference where the default_publisher_qos is returned
Returns
RETCODE_OK

◆ get_default_subscriber_qos() [1/2]

FASTDDS_EXPORTED_API const SubscriberQos & get_default_subscriber_qos ( ) const

This operation retrieves the default value of the Subscriber QoS, that is, the QoS policies which will be used for newly created Subscriber entities in the case where the QoS policies are defaulted in the create_subscriber operation.

The values retrieved get_default_subscriber_qos will match the set of values specified on the last successful call to set_default_subscriber_qos, or else, if the call was never made, the default values.

Returns
Current default subscriber qos.

◆ get_default_subscriber_qos() [2/2]

FASTDDS_EXPORTED_API ReturnCode_t get_default_subscriber_qos ( SubscriberQos qos) const

This operation retrieves the default value of the Subscriber QoS, that is, the QoS policies which will be used for newly created Subscriber entities in the case where the QoS policies are defaulted in the create_subscriber operation.

The values retrieved get_default_subscriber_qos will match the set of values specified on the last successful call to set_default_subscriber_qos, or else, if the call was never made, the default values.

Parameters
qosSubscriberQos reference where the default_subscriber_qos is returned
Returns
RETCODE_OK

◆ get_default_topic_qos() [1/2]

FASTDDS_EXPORTED_API const TopicQos & get_default_topic_qos ( ) const

This operation retrieves the default value of the Topic QoS, that is, the QoS policies that will be used for newly created Topic entities in the case where the QoS policies are defaulted in the create_topic operation.

The values retrieved get_default_topic_qos will match the set of values specified on the last successful call to set_default_topic_qos, or else, TOPIC_QOS_DEFAULT if the call was never made.

Returns
Current default topic qos.

◆ get_default_topic_qos() [2/2]

FASTDDS_EXPORTED_API ReturnCode_t get_default_topic_qos ( TopicQos qos) const

This operation retrieves the default value of the Topic QoS, that is, the QoS policies that will be used for newly created Topic entities in the case where the QoS policies are defaulted in the create_topic operation.

The values retrieved get_default_topic_qos will match the set of values specified on the last successful call to set_default_topic_qos, or else, TOPIC_QOS_DEFAULT if the call was never made.

Parameters
qosTopicQos reference where the default_topic_qos is returned
Returns
RETCODE_OK

◆ get_discovered_participant_data()

FASTDDS_EXPORTED_API ReturnCode_t get_discovered_participant_data ( ParticipantBuiltinTopicData participant_data,
const InstanceHandle_t participant_handle 
) const

Retrieves the DomainParticipant data of a discovered not ignored participant.

Parameters
[out]participant_dataReference to the ParticipantBuiltinTopicData object to return the data
participant_handleInstanceHandle of DomainParticipant to retrieve the data from
Returns
RETCODE_OK if everything correct, PRECONDITION_NOT_MET if participant does not exist
Warning
Not supported yet. Currently returns RETCODE_UNSUPPORTED

◆ get_discovered_participants()

FASTDDS_EXPORTED_API ReturnCode_t get_discovered_participants ( std::vector< InstanceHandle_t > &  participant_handles) const

Retrieves the list of DomainParticipants that have been discovered in the domain and are not "ignored".

Parameters
[out]participant_handlesReference to the vector where discovered participants will be returned
Returns
RETCODE_OK if everything correct, error code otherwise
Warning
Not supported yet. Currently returns RETCODE_UNSUPPORTED

◆ get_discovered_topic_data()

FASTDDS_EXPORTED_API ReturnCode_t get_discovered_topic_data ( builtin::TopicBuiltinTopicData topic_data,
const InstanceHandle_t topic_handle 
) const

Retrieves the Topic data of a discovered not ignored topic.

Parameters
[out]topic_dataReference to the TopicBuiltinTopicData object to return the data
topic_handleInstanceHandle of Topic to retrieve the data from
Returns
RETCODE_OK if everything correct, PRECONDITION_NOT_MET if topic does not exist
Warning
Not supported yet. Currently returns RETCODE_UNSUPPORTED

◆ get_discovered_topics()

FASTDDS_EXPORTED_API ReturnCode_t get_discovered_topics ( std::vector< InstanceHandle_t > &  topic_handles) const

Retrieves the list of topics that have been discovered in the domain and are not "ignored".

Parameters
[out]topic_handlesReference to the vector where discovered topics will be returned
Returns
RETCODE_OK if everything correct, error code otherwise
Warning
Not supported yet. Currently returns RETCODE_UNSUPPORTED

◆ get_domain_id()

FASTDDS_EXPORTED_API DomainId_t get_domain_id ( ) const

This operation retrieves the domain_id used to create the DomainParticipant.

The domain_id identifies the DDS domain to which the DomainParticipant belongs.

Returns
The Participant's domain_id

◆ get_instance_handle()

FASTDDS_EXPORTED_API const InstanceHandle_t & get_instance_handle ( ) const

Returns the DomainParticipant's handle.

Returns
InstanceHandle of this DomainParticipant.

◆ get_listener()

FASTDDS_EXPORTED_API const DomainParticipantListener * get_listener ( ) const

Allows accessing the DomainParticipantListener.

Returns
DomainParticipantListener pointer

◆ get_participant_names()

FASTDDS_EXPORTED_API std::vector< std::string > get_participant_names ( ) const

Getter for the participant names.

Returns
Vector with the names

◆ get_publisher_qos_from_profile()

FASTDDS_EXPORTED_API ReturnCode_t get_publisher_qos_from_profile ( const std::string &  profile_name,
PublisherQos qos 
) const

Fills the PublisherQos with the values of the XML profile.

Parameters
profile_namePublisher profile name.
qosPublisherQos object where the qos is returned.
Returns
RETCODE_OK if the profile exists. RETCODE_BAD_PARAMETER otherwise.

◆ get_qos() [1/2]

FASTDDS_EXPORTED_API const DomainParticipantQos & get_qos ( ) const

This operation returns the value of the DomainParticipant QoS policies.

Returns
A reference to the DomainParticipantQos

◆ get_qos() [2/2]

FASTDDS_EXPORTED_API ReturnCode_t get_qos ( DomainParticipantQos qos) const

This operation returns the value of the DomainParticipant QoS policies.

Parameters
qosDomainParticipantQos reference where the qos is going to be returned
Returns
RETCODE_OK

◆ get_replier_qos_from_profile()

FASTDDS_EXPORTED_API ReturnCode_t get_replier_qos_from_profile ( const std::string &  profile_name,
ReplierQos qos 
) const

Fills the ReplierQos with the values of the XML profile.

Parameters
profile_nameReplier profile name.
qosReplierQos object where the qos is returned.
Returns
RETCODE_OK if the profile exists. RETCODE_BAD_PARAMETER otherwise.

◆ get_requester_qos_from_profile()

FASTDDS_EXPORTED_API ReturnCode_t get_requester_qos_from_profile ( const std::string &  profile_name,
RequesterQos qos 
) const

Fills the RequesterQos with the values of the XML profile.

Parameters
profile_nameRequester profile name.
qosRequesterQos object where the qos is returned.
Returns
RETCODE_OK if the profile exists. RETCODE_BAD_PARAMETER otherwise.

◆ get_subscriber_qos_from_profile()

FASTDDS_EXPORTED_API ReturnCode_t get_subscriber_qos_from_profile ( const std::string &  profile_name,
SubscriberQos qos 
) const

Fills the SubscriberQos with the values of the XML profile.

Parameters
profile_nameSubscriber profile name.
qosSubscriberQos object where the qos is returned.
Returns
RETCODE_OK if the profile exists. RETCODE_BAD_PARAMETER otherwise.

◆ get_topic_qos_from_profile()

FASTDDS_EXPORTED_API ReturnCode_t get_topic_qos_from_profile ( const std::string &  profile_name,
TopicQos qos 
) const

Fills the TopicQos with the values of the XML profile.

Parameters
profile_nameTopic profile name.
qosTopicQos object where the qos is returned.
Returns
RETCODE_OK if the profile exists. RETCODE_BAD_PARAMETER otherwise.

◆ guid()

FASTDDS_EXPORTED_API const fastdds::rtps::GUID_t & guid ( ) const

Getter for the Participant GUID.

Returns
A reference to the GUID

◆ has_active_entities()

bool has_active_entities ( )

Check if the Participant has any Publisher, Subscriber or Topic.

Returns
true if any, false otherwise.

◆ ignore_participant()

FASTDDS_EXPORTED_API ReturnCode_t ignore_participant ( const InstanceHandle_t handle)

Locally ignore a remote domain participant.

Note
This action is not reversible.
Parameters
handleIdentifier of the remote participant to ignore
Returns
RETURN_OK code if everything correct, RETCODE_BAD_PARAMENTER otherwise

◆ ignore_publication()

FASTDDS_EXPORTED_API ReturnCode_t ignore_publication ( const InstanceHandle_t handle)

Locally ignore a remote datawriter.

Note
This action is not reversible.
Parameters
handleIdentifier of the datawriter to ignore
Returns
RETURN_OK code if everything correct, error code otherwise
Warning
Not supported yet. Currently returns RETCODE_UNSUPPORTED

◆ ignore_subscription()

FASTDDS_EXPORTED_API ReturnCode_t ignore_subscription ( const InstanceHandle_t handle)

Locally ignore a remote datareader.

Note
This action is not reversible.
Parameters
handleIdentifier of the datareader to ignore
Returns
RETURN_OK code if everything correct, error code otherwise
Warning
Not supported yet. Currently returns RETCODE_UNSUPPORTED

◆ ignore_topic()

FASTDDS_EXPORTED_API ReturnCode_t ignore_topic ( const InstanceHandle_t handle)

Locally ignore a topic.

Note
This action is not reversible.
Parameters
handleIdentifier of the topic to ignore
Returns
RETURN_OK code if everything correct, error code otherwise
Warning
Not supported yet. Currently returns RETCODE_UNSUPPORTED

◆ lookup_content_filter_factory()

FASTDDS_EXPORTED_API IContentFilterFactory * lookup_content_filter_factory ( const char *  filter_class_name)

Lookup a custom content filter factory previously registered with register_content_filter_factory.

Parameters
filter_class_nameName of the filter class. Cannot be nullptr.
Returns
nullptr if the given filter_class_name has not been previously registered on this DomainParticipant. Otherwise, the content filter factory previously registered with the given filter_class_name.

◆ lookup_topicdescription()

FASTDDS_EXPORTED_API TopicDescription * lookup_topicdescription ( const std::string &  topic_name) const

Looks up an existing, locally created TopicDescription, based on its name.

May be called on a disabled participant.

Parameters
topic_nameName of the TopicDescription to search for.
Returns
Pointer to the topic description, if it has been created locally. Otherwise, nullptr is returned.
Remarks
UNSAFE. It is unsafe to lookup a topic description while another thread is creating a topic.

◆ new_remote_endpoint_discovered()

FASTDDS_EXPORTED_API bool new_remote_endpoint_discovered ( const fastdds::rtps::GUID_t partguid,
uint16_t  userId,
fastdds::rtps::EndpointKind_t  kind 
)

This method can be used when using a StaticEndpointDiscovery mechanism different that the one included in Fast DDS, for example when communicating with other implementations.

It indicates the Participant that an Endpoint from the XML has been discovered and should be activated.

Parameters
partguidParticipant GUID_t.
userIdUser defined ID as shown in the XML file.
kindEndpointKind (WRITER or READER)
Returns
True if correctly found and activated.

◆ register_content_filter_factory()

FASTDDS_EXPORTED_API ReturnCode_t register_content_filter_factory ( const char *  filter_class_name,
IContentFilterFactory *const  filter_factory 
)

Register a custom content filter factory, which can be used to create a ContentFilteredTopic.

DDS specifies a SQL-like content filter to be used by content filtered topics. If this filter does not meet your filtering requirements, you can register a custom filter factory.

To use a custom filter, a factory for it must be registered in the following places:

  • In any application that uses the custom filter factory to create a ContentFilteredTopic and the corresponding DataReader.
  • In each application that writes the data to the applications mentioned above.

For example, suppose Application A on the subscription side creates a Topic named X and a ContentFilteredTopic named filteredX (and a corresponding DataReader), using a previously registered content filter factory, myFilterFactory. With only that, you will have filtering at the subscription side. If you also want to perform filtering in any application that publishes Topic X, then you also need to register the same definition of the ContentFilterFactory myFilterFactory in that application.

Each filter_class_name can only be used to register a content filter factory once per DomainParticipant.

Parameters
filter_class_nameName of the filter class. Cannot be nullptr, must not exceed 255 characters, and must be unique within this DomainParticipant.
filter_factoryFactory of content filters to be registered. Cannot be nullptr.
Returns
RETCODE_BAD_PARAMETER if any parameter is nullptr, or the filter_class_name exceeds 255 characters.
RETCODE_PRECONDITION_NOT_MET if the filter_class_name has been already registered.
RETCODE_PRECONDITION_NOT_MET if filter_class_name is FASTDDS_SQLFILTER_NAME.
RETCODE_OK if the filter is correctly registered.

◆ register_type() [1/2]

FASTDDS_EXPORTED_API ReturnCode_t register_type ( TypeSupport  type)

Register a type in this participant.

Parameters
typeTypeSupport.
Returns
RETCODE_BAD_PARAMETER if the size of the name is 0, RERCODE_PRECONDITION_NOT_MET if there is another TypeSupport with the same name and RETCODE_OK if it is correctly registered.

◆ register_type() [2/2]

FASTDDS_EXPORTED_API ReturnCode_t register_type ( TypeSupport  type,
const std::string &  type_name 
)

Register a type in this participant.

Parameters
typeTypeSupport.
type_nameThe name that will be used to identify the Type.
Returns
RETCODE_BAD_PARAMETER if the size of the name is 0, RERCODE_PRECONDITION_NOT_MET if there is another TypeSupport with the same name and RETCODE_OK if it is correctly registered.

◆ set_default_publisher_qos()

FASTDDS_EXPORTED_API ReturnCode_t set_default_publisher_qos ( const PublisherQos qos)

This operation sets a default value of the Publisher QoS policies which will be used for newly created Publisher entities in the case where the QoS policies are defaulted in the create_publisher operation.

This operation will check that the resulting policies are self consistent; if they are not, the operation will have no effect and return false.

The special value PUBLISHER_QOS_DEFAULT may be passed to this operation to indicate that the default QoS should be reset back to the initial values the factory would use, that is the values that would be used if the set_default_publisher_qos operation had never been called.

Parameters
qosPublisherQos to be set
Returns
RETCODE_INCONSISTENT_POLICY if the Qos is not self consistent and RETCODE_OK if the qos is changed correctly.

◆ set_default_subscriber_qos()

FASTDDS_EXPORTED_API ReturnCode_t set_default_subscriber_qos ( const SubscriberQos qos)

This operation sets a default value of the Subscriber QoS policies that will be used for newly created Subscriber entities in the case where the QoS policies are defaulted in the create_subscriber operation.

This operation will check that the resulting policies are self consistent; if they are not, the operation will have no effect and return false.

The special value SUBSCRIBER_QOS_DEFAULT may be passed to this operation to indicate that the default QoS should be reset back to the initial values the factory would use, that is the values that would be used if the set_default_subscriber_qos operation had never been called.

Parameters
qosSubscriberQos to be set
Returns
RETCODE_INCONSISTENT_POLICY if the Qos is not self consistent and RETCODE_OK if the qos is changed correctly.

◆ set_default_topic_qos()

FASTDDS_EXPORTED_API ReturnCode_t set_default_topic_qos ( const TopicQos qos)

This operation sets a default value of the Topic QoS policies which will be used for newly created Topic entities in the case where the QoS policies are defaulted in the create_topic operation.

This operation will check that the resulting policies are self consistent; if they are not, the operation will have no effect and return INCONSISTENT_POLICY.

The special value TOPIC_QOS_DEFAULT may be passed to this operation to indicate that the default QoS should be reset back to the initial values the factory would use, that is the values that would be used if the set_default_topic_qos operation had never been called.

Parameters
qosTopicQos to be set
Returns
RETCODE_INCONSISTENT_POLICY if the Qos is not self consistent and RETCODE_OK if the qos is changed correctly.

◆ set_listener() [1/4]

FASTDDS_EXPORTED_API ReturnCode_t set_listener ( DomainParticipantListener listener)

Modifies the DomainParticipantListener, sets the mask to StatusMask::all()

Parameters
listenerNew value for the DomainParticipantListener
Returns
RETCODE_OK if successful, RETCODE_ERROR otherwise.
Warning
Do not call this method from a DomainParticipantListener callback.

◆ set_listener() [2/4]

FASTDDS_EXPORTED_API ReturnCode_t set_listener ( DomainParticipantListener listener,
const StatusMask mask 
)

Modifies the DomainParticipantListener.

Parameters
listenerNew value for the DomainParticipantListener
maskStatusMask that holds statuses the listener responds to
Returns
RETCODE_OK if successful, RETCODE_ERROR otherwise.
Warning
Do not call this method from a DomainParticipantListener callback.

◆ set_listener() [3/4]

FASTDDS_EXPORTED_API ReturnCode_t set_listener ( DomainParticipantListener listener,
const StatusMask mask,
const std::chrono::seconds  timeout 
)

Modifies the DomainParticipantListener.

Parameters
listenerNew value for the DomainParticipantListener
maskStatusMask that holds statuses the listener responds to
timeoutMaximum time to wait for executing callbacks to finish.
Returns
RETCODE_OK if successful, RETCODE_ERROR if failed (timeout expired)
Warning
Do not call this method from a DomainParticipantListener callback.

◆ set_listener() [4/4]

FASTDDS_EXPORTED_API ReturnCode_t set_listener ( DomainParticipantListener listener,
const std::chrono::seconds  timeout 
)

Modifies the DomainParticipantListener, sets the mask to StatusMask::all()

Parameters
listenerNew value for the DomainParticipantListener
timeoutMaximum time to wait for executing callbacks to finish.
Returns
RETCODE_OK if successful, RETCODE_ERROR if failed (timeout expired).
Warning
Do not call this method from a DomainParticipantListener callback.

◆ set_qos()

FASTDDS_EXPORTED_API ReturnCode_t set_qos ( const DomainParticipantQos qos) const

This operation sets the value of the DomainParticipant QoS policies.

Parameters
qosDomainParticipantQos to be set
Returns
RETCODE_IMMUTABLE_POLICY if any of the Qos cannot be changed, RETCODE_INCONSISTENT_POLICY if the Qos is not self consistent and RETCODE_OK if the qos is changed correctly.

◆ unregister_content_filter_factory()

FASTDDS_EXPORTED_API ReturnCode_t unregister_content_filter_factory ( const char *  filter_class_name)

Unregister a custom content filter factory previously registered with register_content_filter_factory.

A filter_class_name can be unregistered only if it has been previously registered to the DomainParticipant with register_content_filter_factory.

The unregistration of filter is not allowed if there are any existing ContentFilteredTopic objects that are using the filter.

If there is any existing discovered DataReader with the same filter_class_name, filtering on the writer side will be stopped, but this operation will not fail.

Parameters
filter_class_nameName of the filter class. Cannot be nullptr.
Returns
RETCODE_BAD_PARAMETER if the filter_class_name is nullptr.
RERCODE_PRECONDITION_NOT_MET if the filter_class_name has not been previously registered.
RERCODE_PRECONDITION_NOT_MET if there is any ContentFilteredTopic referencing the filter.
RETCODE_OK if the filter is correctly unregistered.

◆ unregister_type()

FASTDDS_EXPORTED_API ReturnCode_t unregister_type ( const std::string &  typeName)

Unregister a type in this participant.

Parameters
typeNameName of the type
Returns
RETCODE_BAD_PARAMETER if the size of the name is 0, RERCODE_PRECONDITION_NOT_MET if there are entities using that TypeSupport and RETCODE_OK if it is correctly unregistered.

Friends And Related Symbol Documentation

◆ ::dds::domain::DomainParticipant

friend class ::dds::domain::DomainParticipant
friend

◆ DomainParticipantFactory

friend class DomainParticipantFactory
friend

◆ DomainParticipantImpl

friend class DomainParticipantImpl
friend

Member Data Documentation

◆ impl_

DomainParticipantImpl* impl_
protected

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