Fast DDS  Version 3.1.2
Fast DDS
Loading...
Searching...
No Matches
DomainParticipant.hpp
1// Copyright 2019 Proyectos y Sistemas de Mantenimiento SL (eProsima).
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
20#ifndef FASTDDS_DDS_DOMAIN__DOMAINPARTICIPANT_HPP
21#define FASTDDS_DDS_DOMAIN__DOMAINPARTICIPANT_HPP
22
23#include <functional>
24#include <string>
25#include <utility>
26#include <vector>
27
28#include <fastdds/dds/builtin/topic/ParticipantBuiltinTopicData.hpp>
29#include <fastdds/dds/builtin/topic/TopicBuiltinTopicData.hpp>
30#include <fastdds/dds/core/Entity.hpp>
31#include <fastdds/dds/core/ReturnCode.hpp>
32#include <fastdds/dds/core/status/StatusMask.hpp>
33#include <fastdds/dds/domain/qos/DomainParticipantQos.hpp>
34#include <fastdds/dds/domain/qos/ReplierQos.hpp>
35#include <fastdds/dds/domain/qos/RequesterQos.hpp>
36#include <fastdds/dds/topic/ContentFilteredTopic.hpp>
37#include <fastdds/dds/topic/IContentFilterFactory.hpp>
38#include <fastdds/dds/topic/Topic.hpp>
39#include <fastdds/dds/topic/TopicListener.hpp>
40#include <fastdds/dds/topic/TypeSupport.hpp>
41#include <fastdds/rtps/common/Guid.hpp>
42#include <fastdds/rtps/common/SampleIdentity.hpp>
43#include <fastdds/rtps/common/Time_t.hpp>
44
45namespace dds {
46namespace domain {
47class DomainParticipant;
48} // namespace domain
49} // namespace dds
50
51namespace eprosima {
52namespace fastdds {
53namespace rtps {
54class ResourceEvent;
55} // namespace rtps
56
57namespace dds {
58
59class DomainParticipantImpl;
60class DomainParticipantListener;
61class Publisher;
62class PublisherQos;
63class PublisherListener;
64class Subscriber;
65class SubscriberQos;
66class SubscriberListener;
67class TopicQos;
68
69// Not implemented classes
70class MultiTopic;
71
78{
79public:
80
85
86 // Superclass methods
87
94 FASTDDS_EXPORTED_API ReturnCode_t get_qos(
95 DomainParticipantQos& qos) const;
96
102 FASTDDS_EXPORTED_API const DomainParticipantQos& get_qos() const;
103
111 FASTDDS_EXPORTED_API ReturnCode_t set_qos(
112 const DomainParticipantQos& qos) const;
113
119 FASTDDS_EXPORTED_API const DomainParticipantListener* get_listener() const;
120
128 FASTDDS_EXPORTED_API ReturnCode_t set_listener(
129 DomainParticipantListener* listener);
130
139 FASTDDS_EXPORTED_API ReturnCode_t set_listener(
141 const std::chrono::seconds timeout);
142
151 FASTDDS_EXPORTED_API ReturnCode_t set_listener(
153 const StatusMask& mask);
154
164 FASTDDS_EXPORTED_API ReturnCode_t set_listener(
166 const StatusMask& mask,
167 const std::chrono::seconds timeout);
168
174 FASTDDS_EXPORTED_API ReturnCode_t enable() override;
175
176 // DomainParticipant specific methods from DDS API
177
186 FASTDDS_EXPORTED_API Publisher* create_publisher(
187 const PublisherQos& qos,
188 PublisherListener* listener = nullptr,
189 const StatusMask& mask = StatusMask::all());
190
200 const std::string& profile_name,
201 PublisherListener* listener = nullptr,
202 const StatusMask& mask = StatusMask::all());
203
211 FASTDDS_EXPORTED_API ReturnCode_t delete_publisher(
212 const Publisher* publisher);
213
222 FASTDDS_EXPORTED_API Subscriber* create_subscriber(
223 const SubscriberQos& qos,
224 SubscriberListener* listener = nullptr,
225 const StatusMask& mask = StatusMask::all());
226
236 const std::string& profile_name,
237 SubscriberListener* listener = nullptr,
238 const StatusMask& mask = StatusMask::all());
239
247 FASTDDS_EXPORTED_API ReturnCode_t delete_subscriber(
248 const Subscriber* subscriber);
249
260 FASTDDS_EXPORTED_API Topic* create_topic(
261 const std::string& topic_name,
262 const std::string& type_name,
263 const TopicQos& qos,
264 TopicListener* listener = nullptr,
265 const StatusMask& mask = StatusMask::all());
266
277 FASTDDS_EXPORTED_API Topic* create_topic_with_profile(
278 const std::string& topic_name,
279 const std::string& type_name,
280 const std::string& profile_name,
281 TopicListener* listener = nullptr,
282 const StatusMask& mask = StatusMask::all());
283
291 FASTDDS_EXPORTED_API ReturnCode_t delete_topic(
292 const Topic* topic);
293
308 const std::string& name,
309 Topic* related_topic,
310 const std::string& filter_expression,
311 const std::vector<std::string>& expression_parameters);
312
330 const std::string& name,
331 Topic* related_topic,
332 const std::string& filter_expression,
333 const std::vector<std::string>& expression_parameters,
334 const char* filter_class_name);
335
344 const ContentFilteredTopic* a_contentfilteredtopic);
345
355 FASTDDS_EXPORTED_API MultiTopic* create_multitopic(
356 const std::string& name,
357 const std::string& type_name,
358 const std::string& subscription_expression,
359 const std::vector<std::string>& expression_parameters);
360
371 FASTDDS_EXPORTED_API ReturnCode_t delete_multitopic(
372 const MultiTopic* a_multitopic);
373
387 FASTDDS_EXPORTED_API Topic* find_topic(
388 const std::string& topic_name,
389 const fastdds::dds::Duration_t& timeout);
390
401 const std::string& topic_name) const;
402
408 FASTDDS_EXPORTED_API const Subscriber* get_builtin_subscriber() const;
409
419 FASTDDS_EXPORTED_API ReturnCode_t ignore_participant(
420 const InstanceHandle_t& handle);
421
433 FASTDDS_EXPORTED_API ReturnCode_t ignore_topic(
434 const InstanceHandle_t& handle);
435
447 FASTDDS_EXPORTED_API ReturnCode_t ignore_publication(
448 const InstanceHandle_t& handle);
449
461 FASTDDS_EXPORTED_API ReturnCode_t ignore_subscription(
462 const InstanceHandle_t& handle);
463
470 FASTDDS_EXPORTED_API DomainId_t get_domain_id() const;
471
478
494 FASTDDS_EXPORTED_API ReturnCode_t assert_liveliness();
495
511 const PublisherQos& qos);
512
523 FASTDDS_EXPORTED_API const PublisherQos& get_default_publisher_qos() const;
524
537 PublisherQos& qos) const;
538
547 const std::string& profile_name,
548 PublisherQos& qos) const;
549
558 const std::string& xml,
559 PublisherQos& qos) const;
560
570 const std::string& xml,
571 PublisherQos& qos,
572 const std::string& profile_name) const;
573
584 const std::string& xml,
585 PublisherQos& qos) const;
586
602 const SubscriberQos& qos);
603
614 FASTDDS_EXPORTED_API const SubscriberQos& get_default_subscriber_qos() const;
615
628 SubscriberQos& qos) const;
629
638 const std::string& profile_name,
639 SubscriberQos& qos) const;
640
649 const std::string& xml,
650 SubscriberQos& qos) const;
651
661 const std::string& xml,
662 SubscriberQos& qos,
663 const std::string& profile_name) const;
664
675 const std::string& xml,
676 SubscriberQos& qos) const;
677
693 const TopicQos& qos);
694
705 FASTDDS_EXPORTED_API const TopicQos& get_default_topic_qos() const;
706
719 TopicQos& qos) const;
720
729 const std::string& profile_name,
730 TopicQos& qos) const;
731
742 const std::string& profile_name,
743 TopicQos& qos,
744 std::string& topic_name,
745 std::string& topic_data_type) const;
746
755 const std::string& xml,
756 TopicQos& qos) const;
757
768 const std::string& xml,
769 TopicQos& qos,
770 std::string& topic_name,
771 std::string& topic_data_type) const;
772
782 const std::string& xml,
783 TopicQos& qos,
784 const std::string& profile_name) const;
785
797 const std::string& xml,
798 TopicQos& qos,
799 std::string& topic_name,
800 std::string& topic_data_type,
801 const std::string& profile_name) const;
802
813 const std::string& xml,
814 TopicQos& qos) const;
815
828 const std::string& xml,
829 TopicQos& qos,
830 std::string& topic_name,
831 std::string& topic_data_type) const;
832
841 const std::string& profile_name,
842 ReplierQos& qos) const;
843
852 const std::string& xml,
853 ReplierQos& qos) const;
854
864 const std::string& xml,
865 ReplierQos& qos,
866 const std::string& profile_name) const;
867
878 const std::string& xml,
879 ReplierQos& qos) const;
880
889 const std::string& profile_name,
890 RequesterQos& qos) const;
891
900 const std::string& xml,
901 RequesterQos& qos) const;
902
912 const std::string& xml,
913 RequesterQos& qos,
914 const std::string& profile_name) const;
915
926 const std::string& xml,
927 RequesterQos& qos) const;
928
938 std::vector<InstanceHandle_t>& participant_handles) const;
939
950 ParticipantBuiltinTopicData& participant_data,
951 const InstanceHandle_t& participant_handle) const;
952
962 std::vector<InstanceHandle_t>& topic_handles) const;
963
975 const InstanceHandle_t& topic_handle) const;
976
987 FASTDDS_EXPORTED_API bool contains_entity(
988 const InstanceHandle_t& a_handle,
989 bool recursive = true) const;
990
998 FASTDDS_EXPORTED_API ReturnCode_t get_current_time(
999 fastdds::dds::Time_t& current_time) const;
1000
1001 // DomainParticipant methods specific from Fast DDS
1002
1011 FASTDDS_EXPORTED_API ReturnCode_t register_type(
1012 TypeSupport type,
1013 const std::string& type_name);
1014
1022 FASTDDS_EXPORTED_API ReturnCode_t register_type(
1023 TypeSupport type);
1024
1032 FASTDDS_EXPORTED_API ReturnCode_t unregister_type(
1033 const std::string& typeName);
1034
1041 FASTDDS_EXPORTED_API TypeSupport find_type(
1042 const std::string& type_name) const;
1043
1049 FASTDDS_EXPORTED_API const InstanceHandle_t& get_instance_handle() const;
1050
1051 // From here legacy RTPS methods.
1052
1058 FASTDDS_EXPORTED_API const fastdds::rtps::GUID_t& guid() const;
1059
1065 FASTDDS_EXPORTED_API std::vector<std::string> get_participant_names() const;
1066
1078 FASTDDS_EXPORTED_API bool new_remote_endpoint_discovered(
1079 const fastdds::rtps::GUID_t& partguid,
1080 uint16_t userId,
1082
1114 const char* filter_class_name,
1115 IContentFilterFactory* const filter_factory);
1116
1126 const char* filter_class_name);
1127
1148 const char* filter_class_name);
1149
1155 FASTDDS_EXPORTED_API bool has_active_entities();
1156
1157protected:
1158
1160 const StatusMask& mask = StatusMask::all());
1161
1163
1165
1167
1168 friend class ::dds::domain::DomainParticipant;
1169};
1170
1171} // namespace dds
1172} // namespace fastdds
1173} // namespace eprosima
1174
1175#endif // FASTDDS_DDS_DOMAIN__DOMAINPARTICIPANT_HPP
Specialization of TopicDescription that allows for content-based subscriptions.
Definition ContentFilteredTopic.hpp:45
Class DomainParticipantFactory.
Definition DomainParticipantFactory.hpp:65
Class DomainParticipant used to group Publishers and Subscribers into a single working unit.
Definition DomainParticipant.hpp:78
FASTDDS_EXPORTED_API ReturnCode_t get_subscriber_qos_from_xml(const std::string &xml, SubscriberQos &qos) const
Fills the SubscriberQos with the first subscriber profile found in the provided XML.
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 ...
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.
FASTDDS_EXPORTED_API ReturnCode_t get_default_subscriber_qos_from_xml(const std::string &xml, SubscriberQos &qos) const
Fills the SubscriberQos with the default subscriber profile found in the provided XML (if there is).
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.
FASTDDS_EXPORTED_API ReturnCode_t get_topic_qos_from_xml(const std::string &xml, TopicQos &qos, std::string &topic_name, std::string &topic_data_type, const std::string &profile_name) const
Fills the TopicQos with the topic profile with profile_name to be found in the provided XML,...
FASTDDS_EXPORTED_API ReturnCode_t get_publisher_qos_from_xml(const std::string &xml, PublisherQos &qos) const
Fills the PublisherQos with the first publisher profile found in the provided XML.
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.
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 wil...
FASTDDS_EXPORTED_API Subscriber * create_subscriber(const SubscriberQos &qos, SubscriberListener *listener=nullptr, const StatusMask &mask=StatusMask::all())
Create a Subscriber in this Participant.
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 Publisher * create_publisher(const PublisherQos &qos, PublisherListener *listener=nullptr, const StatusMask &mask=StatusMask::all())
Create a Publisher in this Participant.
FASTDDS_EXPORTED_API ReturnCode_t ignore_publication(const InstanceHandle_t &handle)
Locally ignore a remote datawriter.
FASTDDS_EXPORTED_API const InstanceHandle_t & get_instance_handle() const
Returns the DomainParticipant's handle.
FASTDDS_EXPORTED_API ReturnCode_t set_listener(DomainParticipantListener *listener)
Modifies the DomainParticipantListener, sets the mask to StatusMask::all()
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 wil...
FASTDDS_EXPORTED_API ReturnCode_t get_default_requester_qos_from_xml(const std::string &xml, RequesterQos &qos) const
Fills the RequesterQos with the default requester profile found in the provided XML (if there is).
FASTDDS_EXPORTED_API ReturnCode_t assert_liveliness()
This operation manually asserts the liveliness of the DomainParticipant.
FASTDDS_EXPORTED_API ReturnCode_t ignore_participant(const InstanceHandle_t &handle)
Locally ignore a remote domain participant.
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...
FASTDDS_EXPORTED_API ReturnCode_t get_topic_qos_from_xml(const std::string &xml, TopicQos &qos, std::string &topic_name, std::string &topic_data_type) const
Fills the TopicQos with the first topic profile found in the provided XML, and also its corresponding...
FASTDDS_EXPORTED_API const DomainParticipantListener * get_listener() const
Allows accessing the DomainParticipantListener.
DomainParticipantImpl * impl_
Definition DomainParticipant.hpp:1162
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 include...
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 create...
FASTDDS_EXPORTED_API ReturnCode_t delete_publisher(const Publisher *publisher)
Deletes an existing Publisher.
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 ignore_topic(const InstanceHandle_t &handle)
Locally ignore a topic.
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 ReturnCode_t get_replier_qos_from_xml(const std::string &xml, ReplierQos &qos) const
Fills the ReplierQos with the first replier profile found in the provided XML.
FASTDDS_EXPORTED_API TopicDescription * lookup_topicdescription(const std::string &topic_name) const
Looks up an existing, locally created TopicDescription, based on its name.
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.
FASTDDS_EXPORTED_API std::vector< std::string > get_participant_names() const
Getter for the participant names.
FASTDDS_EXPORTED_API ReturnCode_t set_listener(DomainParticipantListener *listener, const StatusMask &mask)
Modifies the DomainParticipantListener.
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.
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.
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 ...
FASTDDS_EXPORTED_API ReturnCode_t set_qos(const DomainParticipantQos &qos) const
This operation sets the value of the DomainParticipant QoS policies.
FASTDDS_EXPORTED_API ReturnCode_t get_requester_qos_from_xml(const std::string &xml, RequesterQos &qos, const std::string &profile_name) const
Fills the RequesterQos with the requester profile with profile_name to be found in the provided XML.
FASTDDS_EXPORTED_API ReturnCode_t get_default_replier_qos_from_xml(const std::string &xml, ReplierQos &qos) const
Fills the ReplierQos with the default replier profile found in the provided XML (if there is).
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 To...
FASTDDS_EXPORTED_API ReturnCode_t get_default_topic_qos_from_xml(const std::string &xml, TopicQos &qos, std::string &topic_name, std::string &topic_data_type) const
Fills the TopicQos with the default topic profile found in the provided XML (if there is),...
FASTDDS_EXPORTED_API const fastdds::rtps::GUID_t & guid() const
Getter for the Participant GUID.
FASTDDS_EXPORTED_API ReturnCode_t unregister_type(const std::string &typeName)
Unregister a type in this participant.
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 delete_contentfilteredtopic(const ContentFilteredTopic *a_contentfilteredtopic)
Deletes an existing ContentFilteredTopic.
FASTDDS_EXPORTED_API bool has_active_entities()
Check if the Participant has any Publisher, Subscriber or Topic.
FASTDDS_EXPORTED_API ReturnCode_t get_topic_qos_from_xml(const std::string &xml, TopicQos &qos) const
Fills the TopicQos with the first topic profile found in the provided XML.
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 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_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 get_default_publisher_qos(PublisherQos &qos) const
This operation retrieves the default value of the Publisher QoS, that is, the QoS policies which will...
FASTDDS_EXPORTED_API ReturnCode_t delete_multitopic(const MultiTopic *a_multitopic)
Deletes an existing MultiTopic.
FASTDDS_EXPORTED_API ReturnCode_t set_listener(DomainParticipantListener *listener, const StatusMask &mask, const std::chrono::seconds timeout)
Modifies the DomainParticipantListener.
FASTDDS_EXPORTED_API const DomainParticipantQos & get_qos() const
This operation returns the value of the DomainParticipant QoS policies.
FASTDDS_EXPORTED_API ReturnCode_t register_type(TypeSupport type)
Register a type in this participant.
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 u...
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.
FASTDDS_EXPORTED_API ReturnCode_t get_default_publisher_qos_from_xml(const std::string &xml, PublisherQos &qos) const
Fills the PublisherQos with the default publisher profile found in the provided XML (if there is).
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 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 delete_contained_entities()
Deletes all the entities that were created by means of the “create” methods.
FASTDDS_EXPORTED_API ReturnCode_t get_topic_qos_from_xml(const std::string &xml, TopicQos &qos, const std::string &profile_name) const
Fills the TopicQos with the topic profile with profile_name to be found in the provided XML.
FASTDDS_EXPORTED_API ReturnCode_t get_topic_qos_from_profile(const std::string &profile_name, TopicQos &qos, std::string &topic_name, std::string &topic_data_type) const
Fills the TopicQos with the values of the XML profile, and also its corresponding topic and data type...
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 create...
FASTDDS_EXPORTED_API ReturnCode_t enable() override
This operation enables the DomainParticipant.
FASTDDS_EXPORTED_API ReturnCode_t ignore_subscription(const InstanceHandle_t &handle)
Locally ignore a remote datareader.
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...
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.
DomainParticipant(const StatusMask &mask=StatusMask::all())
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_qos(DomainParticipantQos &qos) const
This operation returns the value of the DomainParticipant QoS policies.
FASTDDS_EXPORTED_API ReturnCode_t get_default_topic_qos_from_xml(const std::string &xml, TopicQos &qos) const
Fills the TopicQos with the default topic profile found in the provided XML (if there is).
FASTDDS_EXPORTED_API ReturnCode_t get_requester_qos_from_xml(const std::string &xml, RequesterQos &qos) const
Fills the RequesterQos with the first requester profile found in the provided XML.
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 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 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_subscriber(const Subscriber *subscriber)
Deletes an existing Subscriber.
FASTDDS_EXPORTED_API ReturnCode_t get_subscriber_qos_from_xml(const std::string &xml, SubscriberQos &qos, const std::string &profile_name) const
Fills the SubscriberQos with the subscriber profile with profile_name to be found in the provided XML...
friend class DomainParticipantImpl
Definition DomainParticipant.hpp:1166
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_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_xml(const std::string &xml, ReplierQos &qos, const std::string &profile_name) const
Fills the ReplierQos with the replier profile with profile_name to be found in the provided XML.
FASTDDS_EXPORTED_API ReturnCode_t get_publisher_qos_from_xml(const std::string &xml, PublisherQos &qos, const std::string &profile_name) const
Fills the PublisherQos with the publisher profile with profile_name to be found in the provided XML.
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 u...
FASTDDS_EXPORTED_API const Subscriber * get_builtin_subscriber() const
Allows access to the builtin Subscriber.
FASTDDS_EXPORTED_API ReturnCode_t delete_topic(const Topic *topic)
Deletes an existing Topic.
Class DomainParticipantListener, overrides behaviour towards certain events.
Definition DomainParticipantListener.hpp:49
Class DomainParticipantQos, contains all the possible Qos that can be set for a determined participan...
Definition DomainParticipantQos.hpp:42
The Entity class is the abstract base class for all the objects that support QoS policies,...
Definition Entity.hpp:38
Class Publisher, used to send data to associated subscribers.
Definition Publisher.hpp:61
Class PublisherListener, allows the end user to implement callbacks triggered by certain events.
Definition PublisherListener.hpp:39
Class PublisherQos, containing all the possible Qos that can be set for a determined Publisher.
Definition PublisherQos.hpp:39
Definition ReplierQos.hpp:33
Definition RequesterQos.hpp:33
StatusMask is a bitmap or bitset field.
Definition StatusMask.hpp:48
static StatusMask all()
Get all StatusMasks.
Definition StatusMask.hpp:104
Class Subscriber, contains the public API that allows the user to control the reception of messages.
Definition Subscriber.hpp:66
Class SubscriberListener, it should be used by the end user to implement specific callbacks to certai...
Definition SubscriberListener.hpp:41
Class SubscriberQos, contains all the possible Qos that can be set for a determined Subscriber.
Definition SubscriberQos.hpp:38
Class TopicDescription, represents the fact that both publications and subscriptions are tied to a si...
Definition TopicDescription.hpp:38
Class Topic, represents the fact that both publications and subscriptions are tied to a single data-t...
Definition Topic.hpp:53
Class TopicListener, it should be used by the end user to implement specific callbacks to certain act...
Definition TopicListener.hpp:37
Class TopicQos, containing all the possible Qos that can be set for a determined Topic.
Definition TopicQos.hpp:40
Class TypeSupport used to provide the DomainRTPSParticipant with the methods to serialize,...
Definition TypeSupport.hpp:47
Definition DomainParticipant.hpp:45
uint32_t DomainId_t
Definition Types.hpp:24
int32_t ReturnCode_t
Definition DDSReturnCode.hpp:59
EndpointKind_t
Endpoint kind.
Definition Types.hpp:65
eProsima namespace.
The interface that a factory of IContentFilter objects should implement.
Definition IContentFilterFactory.hpp:37
Structure Time_t, used to describe times at a DDS level.
Definition Time_t.hpp:36
Definition TopicBuiltinTopicData.hpp:32
Structure GUID_t, entity identifier, unique in DDS-RTPS Domain.
Definition Guid.hpp:40
Struct InstanceHandle_t, used to contain the key for WITH_KEY topics.
Definition InstanceHandle.hpp:154
Definition ParticipantBuiltinTopicData.hpp:33