| Fast DDS Version 3.3.0 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
19
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/rpc/ServiceTypeSupport.hpp>
37#include <fastdds/dds/topic/ContentFilteredTopic.hpp>
38#include <fastdds/dds/topic/IContentFilterFactory.hpp>
39#include <fastdds/dds/topic/Topic.hpp>
40#include <fastdds/dds/topic/TopicListener.hpp>
41#include <fastdds/dds/topic/TypeSupport.hpp>
42#include <fastdds/rtps/common/Guid.hpp>
43#include <fastdds/rtps/common/SampleIdentity.hpp>
44#include <fastdds/rtps/common/Time_t.hpp>
45
46 namespace dds {
47 namespace domain {
48 class DomainParticipant;
49} // namespace domain
50} // namespace dds
51
52 namespace eprosima {
53 namespace fastdds {
54 namespace rtps {
55 class ResourceEvent;
56} // namespace rtps
57
58 namespace dds {
59 namespace rpc {
60 class Replier;
61 class Requester;
62 class Service;
63} // namespace rpc
64
65 class DomainParticipantImpl;
66 class DomainParticipantListener;
67 class Publisher;
68 class PublisherQos;
69 class PublisherListener;
70 class ReplierQos;
71 class RequesterQos;
72 class Subscriber;
73 class SubscriberQos;
74 class SubscriberListener;
75 class TopicQos;
76
77// Not implemented classes
78 class MultiTopic;
79
85 class DomainParticipant : public Entity
86{
87 public:
88
92 virtual ~DomainParticipant();
93
94 // Superclass methods
95
102 FASTDDS_EXPORTED_API ReturnCode_t get_qos(
103 DomainParticipantQos& qos) const;
104
110 FASTDDS_EXPORTED_API const DomainParticipantQos& get_qos() const;
111
119 FASTDDS_EXPORTED_API ReturnCode_t set_qos(
120 const DomainParticipantQos& qos) const;
121
127 FASTDDS_EXPORTED_API const DomainParticipantListener* get_listener() const;
128
136 FASTDDS_EXPORTED_API ReturnCode_t set_listener(
137 DomainParticipantListener* listener);
138
147 FASTDDS_EXPORTED_API ReturnCode_t set_listener(
148 DomainParticipantListener* listener,
149 const std::chrono::seconds timeout);
150
159 FASTDDS_EXPORTED_API ReturnCode_t set_listener(
160 DomainParticipantListener* listener,
161 const StatusMask& mask);
162
172 FASTDDS_EXPORTED_API ReturnCode_t set_listener(
173 DomainParticipantListener* listener,
174 const StatusMask& mask,
175 const std::chrono::seconds timeout);
176
182 FASTDDS_EXPORTED_API ReturnCode_t enable() override;
183
184 // DomainParticipant specific methods from DDS API
185
194 FASTDDS_EXPORTED_API Publisher* create_publisher(
195 const PublisherQos& qos,
196 PublisherListener* listener = nullptr,
197 const StatusMask& mask = StatusMask::all());
198
207 FASTDDS_EXPORTED_API Publisher* create_publisher_with_profile(
208 const std::string& profile_name,
209 PublisherListener* listener = nullptr,
210 const StatusMask& mask = StatusMask::all());
211
219 FASTDDS_EXPORTED_API ReturnCode_t delete_publisher(
220 const Publisher* publisher);
221
230 FASTDDS_EXPORTED_API Subscriber* create_subscriber(
231 const SubscriberQos& qos,
232 SubscriberListener* listener = nullptr,
233 const StatusMask& mask = StatusMask::all());
234
243 FASTDDS_EXPORTED_API Subscriber* create_subscriber_with_profile(
244 const std::string& profile_name,
245 SubscriberListener* listener = nullptr,
246 const StatusMask& mask = StatusMask::all());
247
255 FASTDDS_EXPORTED_API ReturnCode_t delete_subscriber(
256 const Subscriber* subscriber);
257
268 FASTDDS_EXPORTED_API Topic* create_topic(
269 const std::string& topic_name,
270 const std::string& type_name,
271 const TopicQos& qos,
272 TopicListener* listener = nullptr,
273 const StatusMask& mask = StatusMask::all());
274
285 FASTDDS_EXPORTED_API Topic* create_topic_with_profile(
286 const std::string& topic_name,
287 const std::string& type_name,
288 const std::string& profile_name,
289 TopicListener* listener = nullptr,
290 const StatusMask& mask = StatusMask::all());
291
299 FASTDDS_EXPORTED_API ReturnCode_t delete_topic(
300 const Topic* topic);
301
315 FASTDDS_EXPORTED_API ContentFilteredTopic* create_contentfilteredtopic(
316 const std::string& name,
317 Topic* related_topic,
318 const std::string& filter_expression,
319 const std::vector<std::string>& expression_parameters);
320
337 FASTDDS_EXPORTED_API ContentFilteredTopic* create_contentfilteredtopic(
338 const std::string& name,
339 Topic* related_topic,
340 const std::string& filter_expression,
341 const std::vector<std::string>& expression_parameters,
342 const char* filter_class_name);
343
351 FASTDDS_EXPORTED_API ReturnCode_t delete_contentfilteredtopic(
352 const ContentFilteredTopic* a_contentfilteredtopic);
353
363 FASTDDS_EXPORTED_API MultiTopic* create_multitopic(
364 const std::string& name,
365 const std::string& type_name,
366 const std::string& subscription_expression,
367 const std::vector<std::string>& expression_parameters);
368
379 FASTDDS_EXPORTED_API ReturnCode_t delete_multitopic(
380 const MultiTopic* a_multitopic);
381
395 FASTDDS_EXPORTED_API Topic* find_topic(
396 const std::string& topic_name,
397 const fastdds::dds::Duration_t& timeout);
398
407 FASTDDS_EXPORTED_API rpc::Service* create_service(
408 const std::string& service_name,
409 const std::string& service_type_name);
410
417 FASTDDS_EXPORTED_API rpc::Service* find_service(
418 const std::string& service_name) const;
419
426 FASTDDS_EXPORTED_API ReturnCode_t delete_service(
427 const rpc::Service* service);
428
437 FASTDDS_EXPORTED_API rpc::Requester* create_service_requester(
438 rpc::Service* service,
439 const RequesterQos& requester_qos);
440
448 FASTDDS_EXPORTED_API ReturnCode_t delete_service_requester(
449 const std::string& service_name,
450 rpc::Requester* requester);
451
460 FASTDDS_EXPORTED_API rpc::Replier* create_service_replier(
461 rpc::Service* service,
462 const ReplierQos& replier_qos);
463
471 FASTDDS_EXPORTED_API ReturnCode_t delete_service_replier(
472 const std::string& service_name,
473 rpc::Replier* replier);
474
484 FASTDDS_EXPORTED_API TopicDescription* lookup_topicdescription(
485 const std::string& topic_name) const;
486
492 FASTDDS_EXPORTED_API const Subscriber* get_builtin_subscriber() const;
493
503 FASTDDS_EXPORTED_API ReturnCode_t ignore_participant(
504 const InstanceHandle_t& handle);
505
517 FASTDDS_EXPORTED_API ReturnCode_t ignore_topic(
518 const InstanceHandle_t& handle);
519
531 FASTDDS_EXPORTED_API ReturnCode_t ignore_publication(
532 const InstanceHandle_t& handle);
533
545 FASTDDS_EXPORTED_API ReturnCode_t ignore_subscription(
546 const InstanceHandle_t& handle);
547
554 FASTDDS_EXPORTED_API DomainId_t get_domain_id() const;
555
561 FASTDDS_EXPORTED_API ReturnCode_t delete_contained_entities();
562
578 FASTDDS_EXPORTED_API ReturnCode_t assert_liveliness();
579
594 FASTDDS_EXPORTED_API ReturnCode_t set_default_publisher_qos(
595 const PublisherQos& qos);
596
607 FASTDDS_EXPORTED_API const PublisherQos& get_default_publisher_qos() const;
608
620 FASTDDS_EXPORTED_API ReturnCode_t get_default_publisher_qos(
621 PublisherQos& qos) const;
622
630 FASTDDS_EXPORTED_API ReturnCode_t get_publisher_qos_from_profile(
631 const std::string& profile_name,
632 PublisherQos& qos) const;
633
641 FASTDDS_EXPORTED_API ReturnCode_t get_publisher_qos_from_xml(
642 const std::string& xml,
643 PublisherQos& qos) const;
644
653 FASTDDS_EXPORTED_API ReturnCode_t get_publisher_qos_from_xml(
654 const std::string& xml,
655 PublisherQos& qos,
656 const std::string& profile_name) const;
657
667 FASTDDS_EXPORTED_API ReturnCode_t get_default_publisher_qos_from_xml(
668 const std::string& xml,
669 PublisherQos& qos) const;
670
685 FASTDDS_EXPORTED_API ReturnCode_t set_default_subscriber_qos(
686 const SubscriberQos& qos);
687
698 FASTDDS_EXPORTED_API const SubscriberQos& get_default_subscriber_qos() const;
699
711 FASTDDS_EXPORTED_API ReturnCode_t get_default_subscriber_qos(
712 SubscriberQos& qos) const;
713
721 FASTDDS_EXPORTED_API ReturnCode_t get_subscriber_qos_from_profile(
722 const std::string& profile_name,
723 SubscriberQos& qos) const;
724
732 FASTDDS_EXPORTED_API ReturnCode_t get_subscriber_qos_from_xml(
733 const std::string& xml,
734 SubscriberQos& qos) const;
735
744 FASTDDS_EXPORTED_API ReturnCode_t get_subscriber_qos_from_xml(
745 const std::string& xml,
746 SubscriberQos& qos,
747 const std::string& profile_name) const;
748
758 FASTDDS_EXPORTED_API ReturnCode_t get_default_subscriber_qos_from_xml(
759 const std::string& xml,
760 SubscriberQos& qos) const;
761
776 FASTDDS_EXPORTED_API ReturnCode_t set_default_topic_qos(
777 const TopicQos& qos);
778
789 FASTDDS_EXPORTED_API const TopicQos& get_default_topic_qos() const;
790
802 FASTDDS_EXPORTED_API ReturnCode_t get_default_topic_qos(
803 TopicQos& qos) const;
804
812 FASTDDS_EXPORTED_API ReturnCode_t get_topic_qos_from_profile(
813 const std::string& profile_name,
814 TopicQos& qos) const;
815
825 FASTDDS_EXPORTED_API ReturnCode_t get_topic_qos_from_profile(
826 const std::string& profile_name,
827 TopicQos& qos,
828 std::string& topic_name,
829 std::string& topic_data_type) const;
830
838 FASTDDS_EXPORTED_API ReturnCode_t get_topic_qos_from_xml(
839 const std::string& xml,
840 TopicQos& qos) const;
841
851 FASTDDS_EXPORTED_API ReturnCode_t get_topic_qos_from_xml(
852 const std::string& xml,
853 TopicQos& qos,
854 std::string& topic_name,
855 std::string& topic_data_type) const;
856
865 FASTDDS_EXPORTED_API ReturnCode_t get_topic_qos_from_xml(
866 const std::string& xml,
867 TopicQos& qos,
868 const std::string& profile_name) const;
869
880 FASTDDS_EXPORTED_API ReturnCode_t get_topic_qos_from_xml(
881 const std::string& xml,
882 TopicQos& qos,
883 std::string& topic_name,
884 std::string& topic_data_type,
885 const std::string& profile_name) const;
886
896 FASTDDS_EXPORTED_API ReturnCode_t get_default_topic_qos_from_xml(
897 const std::string& xml,
898 TopicQos& qos) const;
899
911 FASTDDS_EXPORTED_API ReturnCode_t get_default_topic_qos_from_xml(
912 const std::string& xml,
913 TopicQos& qos,
914 std::string& topic_name,
915 std::string& topic_data_type) const;
916
924 FASTDDS_EXPORTED_API ReturnCode_t get_replier_qos_from_profile(
925 const std::string& profile_name,
926 ReplierQos& qos) const;
927
935 FASTDDS_EXPORTED_API ReturnCode_t get_replier_qos_from_xml(
936 const std::string& xml,
937 ReplierQos& qos) const;
938
947 FASTDDS_EXPORTED_API ReturnCode_t get_replier_qos_from_xml(
948 const std::string& xml,
949 ReplierQos& qos,
950 const std::string& profile_name) const;
951
961 FASTDDS_EXPORTED_API ReturnCode_t get_default_replier_qos_from_xml(
962 const std::string& xml,
963 ReplierQos& qos) const;
964
972 FASTDDS_EXPORTED_API ReturnCode_t get_requester_qos_from_profile(
973 const std::string& profile_name,
974 RequesterQos& qos) const;
975
983 FASTDDS_EXPORTED_API ReturnCode_t get_requester_qos_from_xml(
984 const std::string& xml,
985 RequesterQos& qos) const;
986
995 FASTDDS_EXPORTED_API ReturnCode_t get_requester_qos_from_xml(
996 const std::string& xml,
997 RequesterQos& qos,
998 const std::string& profile_name) const;
999
1009 FASTDDS_EXPORTED_API ReturnCode_t get_default_requester_qos_from_xml(
1010 const std::string& xml,
1011 RequesterQos& qos) const;
1012
1021 FASTDDS_EXPORTED_API ReturnCode_t get_discovered_participants(
1022 std::vector<InstanceHandle_t>& participant_handles) const;
1023
1033 FASTDDS_EXPORTED_API ReturnCode_t get_discovered_participant_data(
1034 ParticipantBuiltinTopicData& participant_data,
1035 const InstanceHandle_t& participant_handle) const;
1036
1045 FASTDDS_EXPORTED_API ReturnCode_t get_discovered_topics(
1046 std::vector<InstanceHandle_t>& topic_handles) const;
1047
1057 FASTDDS_EXPORTED_API ReturnCode_t get_discovered_topic_data(
1058 builtin::TopicBuiltinTopicData& topic_data,
1059 const InstanceHandle_t& topic_handle) const;
1060
1071 FASTDDS_EXPORTED_API bool contains_entity(
1072 const InstanceHandle_t& a_handle,
1073 bool recursive = true) const;
1074
1082 FASTDDS_EXPORTED_API ReturnCode_t get_current_time(
1083 fastdds::dds::Time_t& current_time) const;
1084
1085 // DomainParticipant methods specific from Fast DDS
1086
1095 FASTDDS_EXPORTED_API ReturnCode_t register_type(
1096 TypeSupport type,
1097 const std::string& type_name);
1098
1106 FASTDDS_EXPORTED_API ReturnCode_t register_type(
1107 TypeSupport type);
1108
1116 FASTDDS_EXPORTED_API ReturnCode_t unregister_type(
1117 const std::string& typeName);
1118
1125 FASTDDS_EXPORTED_API TypeSupport find_type(
1126 const std::string& type_name) const;
1127
1135 FASTDDS_EXPORTED_API ReturnCode_t register_service_type(
1136 rpc::ServiceTypeSupport service_type,
1137 const std::string& service_type_name);
1138
1145 FASTDDS_EXPORTED_API ReturnCode_t unregister_service_type(
1146 const std::string& service_type_name);
1147
1154 FASTDDS_EXPORTED_API rpc::ServiceTypeSupport find_service_type(
1155 const std::string& service_type_name) const;
1156
1162 FASTDDS_EXPORTED_API const InstanceHandle_t& get_instance_handle() const;
1163
1164 // From here legacy RTPS methods.
1165
1171 FASTDDS_EXPORTED_API const fastdds::rtps::GUID_t& guid() const;
1172
1178 FASTDDS_EXPORTED_API std::vector<std::string> get_participant_names() const;
1179
1191 FASTDDS_EXPORTED_API bool new_remote_endpoint_discovered(
1192 const fastdds::rtps::GUID_t& partguid,
1193 uint16_t userId,
1194 fastdds::rtps::EndpointKind_t kind);
1195
1226 FASTDDS_EXPORTED_API ReturnCode_t register_content_filter_factory(
1227 const char* filter_class_name,
1228 IContentFilterFactory* const filter_factory);
1229
1238 FASTDDS_EXPORTED_API IContentFilterFactory* lookup_content_filter_factory(
1239 const char* filter_class_name);
1240
1260 FASTDDS_EXPORTED_API ReturnCode_t unregister_content_filter_factory(
1261 const char* filter_class_name);
1262
1268 FASTDDS_EXPORTED_API bool has_active_entities();
1269
1270 protected:
1271
1272 DomainParticipant(
1273 const StatusMask& mask = StatusMask::all());
1274
1275 DomainParticipantImpl* impl_;
1276
1277 friend class DomainParticipantFactory;
1278
1279 friend class DomainParticipantImpl;
1280
1281 friend class ::dds::domain::DomainParticipant;
1282};
1283
1284} // namespace dds
1285} // namespace fastdds
1286} // namespace eprosima
1287
1288#endif // FASTDDS_DDS_DOMAIN__DOMAINPARTICIPANT_HPP
eprosima::fastdds::dds::ContentFilteredTopic
Specialization of TopicDescription that allows for content-based subscriptions.
Definition ContentFilteredTopic.hpp:45
eprosima::fastdds::dds::DomainParticipant::get_subscriber_qos_from_xml
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.
eprosima::fastdds::dds::DomainParticipant::find_service
FASTDDS_EXPORTED_API rpc::Service * find_service(const std::string &service_name) const
Find a RPC service by name.
eprosima::fastdds::dds::DomainParticipant::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 ...
eprosima::fastdds::dds::DomainParticipant::create_contentfilteredtopic
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.
eprosima::fastdds::dds::DomainParticipant::get_default_subscriber_qos_from_xml
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).
eprosima::fastdds::dds::DomainParticipant::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.
eprosima::fastdds::dds::DomainParticipant::get_topic_qos_from_xml
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,...
eprosima::fastdds::dds::DomainParticipant::get_publisher_qos_from_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.
eprosima::fastdds::dds::DomainParticipant::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.
eprosima::fastdds::dds::DomainParticipant::find_service_type
FASTDDS_EXPORTED_API rpc::ServiceTypeSupport find_service_type(const std::string &service_type_name) const
This method gives access to a registered service type based on its name.
eprosima::fastdds::dds::DomainParticipant::get_default_subscriber_qos
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...
eprosima::fastdds::dds::DomainParticipant::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.
eprosima::fastdds::dds::DomainParticipant::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.
eprosima::fastdds::dds::DomainParticipant::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.
eprosima::fastdds::dds::DomainParticipant::ignore_publication
FASTDDS_EXPORTED_API ReturnCode_t ignore_publication(const InstanceHandle_t &handle)
Locally ignore a remote datawriter.
eprosima::fastdds::dds::DomainParticipant::get_instance_handle
FASTDDS_EXPORTED_API const InstanceHandle_t & get_instance_handle() const
Returns the DomainParticipant's handle.
eprosima::fastdds::dds::DomainParticipant::set_listener
FASTDDS_EXPORTED_API ReturnCode_t set_listener(DomainParticipantListener *listener)
Modifies the DomainParticipantListener, sets the mask to StatusMask::all().
eprosima::fastdds::dds::DomainParticipant::get_default_subscriber_qos
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...
eprosima::fastdds::dds::DomainParticipant::get_default_requester_qos_from_xml
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).
eprosima::fastdds::dds::DomainParticipant::assert_liveliness
FASTDDS_EXPORTED_API ReturnCode_t assert_liveliness()
This operation manually asserts the liveliness of the DomainParticipant.
eprosima::fastdds::dds::DomainParticipant::ignore_participant
FASTDDS_EXPORTED_API ReturnCode_t ignore_participant(const InstanceHandle_t &handle)
Locally ignore a remote domain participant.
eprosima::fastdds::dds::DomainParticipant::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...
eprosima::fastdds::dds::DomainParticipant::get_topic_qos_from_xml
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...
eprosima::fastdds::dds::DomainParticipant::get_listener
FASTDDS_EXPORTED_API const DomainParticipantListener * get_listener() const
Allows accessing the DomainParticipantListener.
eprosima::fastdds::dds::DomainParticipant::impl_
DomainParticipantImpl * impl_
Definition DomainParticipant.hpp:1275
eprosima::fastdds::dds::DomainParticipant::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 include...
eprosima::fastdds::dds::DomainParticipant::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 create...
eprosima::fastdds::dds::DomainParticipant::delete_publisher
FASTDDS_EXPORTED_API ReturnCode_t delete_publisher(const Publisher *publisher)
Deletes an existing Publisher.
eprosima::fastdds::dds::DomainParticipant::register_service_type
FASTDDS_EXPORTED_API ReturnCode_t register_service_type(rpc::ServiceTypeSupport service_type, const std::string &service_type_name)
Register a service type in this participant.
eprosima::fastdds::dds::DomainParticipant::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.
eprosima::fastdds::dds::DomainParticipant::ignore_topic
FASTDDS_EXPORTED_API ReturnCode_t ignore_topic(const InstanceHandle_t &handle)
Locally ignore a topic.
eprosima::fastdds::dds::DomainParticipant::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.
eprosima::fastdds::dds::DomainParticipant::get_replier_qos_from_xml
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.
eprosima::fastdds::dds::DomainParticipant::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.
eprosima::fastdds::dds::DomainParticipant::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.
eprosima::fastdds::dds::DomainParticipant::get_participant_names
FASTDDS_EXPORTED_API std::vector< std::string > get_participant_names() const
Getter for the participant names.
eprosima::fastdds::dds::DomainParticipant::set_listener
FASTDDS_EXPORTED_API ReturnCode_t set_listener(DomainParticipantListener *listener, const StatusMask &mask)
Modifies the DomainParticipantListener.
eprosima::fastdds::dds::DomainParticipant::unregister_service_type
FASTDDS_EXPORTED_API ReturnCode_t unregister_service_type(const std::string &service_type_name)
Unregister a service type in this participant.
eprosima::fastdds::dds::DomainParticipant::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.
eprosima::fastdds::dds::DomainParticipant::create_contentfilteredtopic
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.
eprosima::fastdds::dds::DomainParticipant::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 ...
eprosima::fastdds::dds::DomainParticipant::set_qos
FASTDDS_EXPORTED_API ReturnCode_t set_qos(const DomainParticipantQos &qos) const
This operation sets the value of the DomainParticipant QoS policies.
eprosima::fastdds::dds::DomainParticipant::get_requester_qos_from_xml
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.
eprosima::fastdds::dds::DomainParticipant::get_default_replier_qos_from_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).
eprosima::fastdds::dds::DomainParticipant::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 To...
eprosima::fastdds::dds::DomainParticipant::get_default_topic_qos_from_xml
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),...
eprosima::fastdds::dds::DomainParticipant::guid
FASTDDS_EXPORTED_API const fastdds::rtps::GUID_t & guid() const
Getter for the Participant GUID.
eprosima::fastdds::dds::DomainParticipant::unregister_type
FASTDDS_EXPORTED_API ReturnCode_t unregister_type(const std::string &typeName)
Unregister a type in this participant.
eprosima::fastdds::dds::DomainParticipant::register_type
FASTDDS_EXPORTED_API ReturnCode_t register_type(TypeSupport type, const std::string &type_name)
Register a type in this participant.
eprosima::fastdds::dds::DomainParticipant::delete_contentfilteredtopic
FASTDDS_EXPORTED_API ReturnCode_t delete_contentfilteredtopic(const ContentFilteredTopic *a_contentfilteredtopic)
Deletes an existing ContentFilteredTopic.
eprosima::fastdds::dds::DomainParticipant::has_active_entities
FASTDDS_EXPORTED_API bool has_active_entities()
Check if the Participant has any Publisher, Subscriber or Topic.
eprosima::fastdds::dds::DomainParticipant::get_topic_qos_from_xml
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.
eprosima::fastdds::dds::DomainParticipant::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.
eprosima::fastdds::dds::DomainParticipant::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".
eprosima::fastdds::dds::DomainParticipant::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.
eprosima::fastdds::dds::DomainParticipant::create_service_replier
FASTDDS_EXPORTED_API rpc::Replier * create_service_replier(rpc::Service *service, const ReplierQos &replier_qos)
Create a RPC Replier in a given Service.
eprosima::fastdds::dds::DomainParticipant::~DomainParticipant
virtual ~DomainParticipant()
Destructor.
eprosima::fastdds::dds::DomainParticipant::get_default_publisher_qos
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...
eprosima::fastdds::dds::DomainParticipant::delete_multitopic
FASTDDS_EXPORTED_API ReturnCode_t delete_multitopic(const MultiTopic *a_multitopic)
Deletes an existing MultiTopic.
eprosima::fastdds::dds::DomainParticipant::set_listener
FASTDDS_EXPORTED_API ReturnCode_t set_listener(DomainParticipantListener *listener, const StatusMask &mask, const std::chrono::seconds timeout)
Modifies the DomainParticipantListener.
eprosima::fastdds::dds::DomainParticipant::get_qos
FASTDDS_EXPORTED_API const DomainParticipantQos & get_qos() const
This operation returns the value of the DomainParticipant QoS policies.
eprosima::fastdds::dds::DomainParticipant::register_type
FASTDDS_EXPORTED_API ReturnCode_t register_type(TypeSupport type)
Register a type in this participant.
eprosima::fastdds::dds::DomainParticipant::get_default_topic_qos
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...
eprosima::fastdds::dds::DomainParticipant::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.
eprosima::fastdds::dds::DomainParticipant::DomainParticipant
friend class ::dds::domain::DomainParticipant
Definition DomainParticipant.hpp:1281
eprosima::fastdds::dds::DomainParticipant::get_default_publisher_qos_from_xml
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).
eprosima::fastdds::dds::DomainParticipant::delete_service_replier
FASTDDS_EXPORTED_API ReturnCode_t delete_service_replier(const std::string &service_name, rpc::Replier *replier)
Deletes an existing RPC Replier.
eprosima::fastdds::dds::DomainParticipant::set_listener
FASTDDS_EXPORTED_API ReturnCode_t set_listener(DomainParticipantListener *listener, const std::chrono::seconds timeout)
Modifies the DomainParticipantListener, sets the mask to StatusMask::all().
eprosima::fastdds::dds::DomainParticipant::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.
eprosima::fastdds::dds::DomainParticipant::delete_contained_entities
FASTDDS_EXPORTED_API ReturnCode_t delete_contained_entities()
Deletes all the entities that were created by means of the “create” methods.
eprosima::fastdds::dds::DomainParticipant::get_topic_qos_from_xml
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.
eprosima::fastdds::dds::DomainParticipant::get_topic_qos_from_profile
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...
eprosima::fastdds::dds::DomainParticipant::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 create...
eprosima::fastdds::dds::DomainParticipant::enable
FASTDDS_EXPORTED_API ReturnCode_t enable() override
This operation enables the DomainParticipant.
eprosima::fastdds::dds::DomainParticipant::ignore_subscription
FASTDDS_EXPORTED_API ReturnCode_t ignore_subscription(const InstanceHandle_t &handle)
Locally ignore a remote datareader.
eprosima::fastdds::dds::DomainParticipant::get_default_publisher_qos
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...
eprosima::fastdds::dds::DomainParticipant::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.
eprosima::fastdds::dds::DomainParticipant::DomainParticipant
DomainParticipant(const StatusMask &mask=StatusMask::all())
eprosima::fastdds::dds::DomainParticipant::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.
eprosima::fastdds::dds::DomainParticipant::create_service
FASTDDS_EXPORTED_API rpc::Service * create_service(const std::string &service_name, const std::string &service_type_name)
Create a RPC service.
eprosima::fastdds::dds::DomainParticipant::DomainParticipantFactory
friend class DomainParticipantFactory
Definition DomainParticipant.hpp:1277
eprosima::fastdds::dds::DomainParticipant::get_qos
FASTDDS_EXPORTED_API ReturnCode_t get_qos(DomainParticipantQos &qos) const
This operation returns the value of the DomainParticipant QoS policies.
eprosima::fastdds::dds::DomainParticipant::get_default_topic_qos_from_xml
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).
eprosima::fastdds::dds::DomainParticipant::get_requester_qos_from_xml
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.
eprosima::fastdds::dds::DomainParticipant::get_domain_id
FASTDDS_EXPORTED_API DomainId_t get_domain_id() const
This operation retrieves the domain_id used to create the DomainParticipant.
eprosima::fastdds::dds::DomainParticipant::create_service_requester
FASTDDS_EXPORTED_API rpc::Requester * create_service_requester(rpc::Service *service, const RequesterQos &requester_qos)
Create a RPC Requester in a given Service.
eprosima::fastdds::dds::DomainParticipant::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.
eprosima::fastdds::dds::DomainParticipant::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.
eprosima::fastdds::dds::DomainParticipant::delete_subscriber
FASTDDS_EXPORTED_API ReturnCode_t delete_subscriber(const Subscriber *subscriber)
Deletes an existing Subscriber.
eprosima::fastdds::dds::DomainParticipant::get_subscriber_qos_from_xml
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...
eprosima::fastdds::dds::DomainParticipant::DomainParticipantImpl
friend class DomainParticipantImpl
Definition DomainParticipant.hpp:1279
eprosima::fastdds::dds::DomainParticipant::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...
eprosima::fastdds::dds::DomainParticipant::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.
eprosima::fastdds::dds::DomainParticipant::get_replier_qos_from_xml
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.
eprosima::fastdds::dds::DomainParticipant::get_publisher_qos_from_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.
eprosima::fastdds::dds::DomainParticipant::get_default_topic_qos
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...
eprosima::fastdds::dds::DomainParticipant::delete_service
FASTDDS_EXPORTED_API ReturnCode_t delete_service(const rpc::Service *service)
Delete a registered RPC service.
eprosima::fastdds::dds::DomainParticipant::get_builtin_subscriber
FASTDDS_EXPORTED_API const Subscriber * get_builtin_subscriber() const
Allows access to the builtin Subscriber.
eprosima::fastdds::dds::DomainParticipant::delete_service_requester
FASTDDS_EXPORTED_API ReturnCode_t delete_service_requester(const std::string &service_name, rpc::Requester *requester)
Deletes an existing RPC Requester.
eprosima::fastdds::dds::DomainParticipant::delete_topic
FASTDDS_EXPORTED_API ReturnCode_t delete_topic(const Topic *topic)
Deletes an existing Topic.
eprosima::fastdds::dds::DomainParticipantListener
Class DomainParticipantListener, overrides behaviour towards certain events.
Definition DomainParticipantListener.hpp:49
eprosima::fastdds::dds::DomainParticipantQos
Class DomainParticipantQos, contains all the possible Qos that can be set for a determined participan...
Definition DomainParticipantQos.hpp:42
eprosima::fastdds::dds::Entity::Entity
FASTDDS_EXPORTED_API Entity(const StatusMask &mask=StatusMask::all())
Constructor.
Definition Entity.hpp:46
eprosima::fastdds::dds::Publisher
Class Publisher, used to send data to associated subscribers.
Definition Publisher.hpp:61
eprosima::fastdds::dds::PublisherListener
Class PublisherListener, allows the end user to implement callbacks triggered by certain events.
Definition PublisherListener.hpp:39
eprosima::fastdds::dds::PublisherQos
Class PublisherQos, containing all the possible Qos that can be set for a determined Publisher.
Definition PublisherQos.hpp:39
eprosima::fastdds::dds::ReplierQos
Definition ReplierQos.hpp:33
eprosima::fastdds::dds::RequesterQos
Definition RequesterQos.hpp:33
eprosima::fastdds::dds::StatusMask
StatusMask is a bitmap or bitset field.
Definition StatusMask.hpp:48
eprosima::fastdds::dds::StatusMask::all
static StatusMask all()
Get all StatusMasks.
Definition StatusMask.hpp:104
eprosima::fastdds::dds::Subscriber
Class Subscriber, contains the public API that allows the user to control the reception of messages.
Definition Subscriber.hpp:66
eprosima::fastdds::dds::SubscriberListener
Class SubscriberListener, it should be used by the end user to implement specific callbacks to certai...
Definition SubscriberListener.hpp:41
eprosima::fastdds::dds::SubscriberQos
Class SubscriberQos, contains all the possible Qos that can be set for a determined Subscriber.
Definition SubscriberQos.hpp:38
eprosima::fastdds::dds::TopicDescription
Class TopicDescription, represents the fact that both publications and subscriptions are tied to a si...
Definition TopicDescription.hpp:38
eprosima::fastdds::dds::Topic
Class Topic, represents the fact that both publications and subscriptions are tied to a single data-t...
Definition Topic.hpp:53
eprosima::fastdds::dds::TopicListener
Class TopicListener, it should be used by the end user to implement specific callbacks to certain act...
Definition TopicListener.hpp:37
eprosima::fastdds::dds::TopicQos
Class TopicQos, containing all the possible Qos that can be set for a determined Topic.
Definition TopicQos.hpp:40
eprosima::fastdds::dds::TypeSupport
Class TypeSupport used to provide the DomainRTPSParticipant with the methods to serialize,...
Definition TypeSupport.hpp:47
eprosima::fastdds::dds::rpc::Replier
Base class for a Replier in the RPC communication.
Definition Replier.hpp:39
eprosima::fastdds::dds::rpc::Requester
Base class for a Requester in the RPC communication.
Definition Requester.hpp:39
eprosima::fastdds::dds::rpc::Service
Base class for a Service in the RPC communication.
Definition Service.hpp:37
eprosima::fastdds::dds::rpc::ServiceTypeSupport
Definition ServiceTypeSupport.hpp:27
dds::domain
Definition DomainParticipant.hpp:47
dds
Definition DomainParticipant.hpp:46
eprosima::fastdds::dds::rpc
Definition DomainParticipant.hpp:59
eprosima::fastdds::dds
Definition BuiltinTopicKey.hpp:26
eprosima::fastdds::dds::DomainId_t
uint32_t DomainId_t
Definition Types.hpp:24
eprosima::fastdds::dds::ParticipantBuiltinTopicData
rtps::ParticipantBuiltinTopicData ParticipantBuiltinTopicData
Definition ParticipantBuiltinTopicData.hpp:29
eprosima::fastdds::dds::InstanceHandle_t
eprosima::fastdds::rtps::InstanceHandle_t InstanceHandle_t
Definition InstanceHandle.hpp:31
eprosima::fastdds::dds::Duration_t
Time_t Duration_t
Definition Time_t.hpp:91
eprosima::fastdds::dds::ReturnCode_t
int32_t ReturnCode_t
Definition DDSReturnCode.hpp:59
eprosima::fastdds::rtps::EndpointKind_t
EndpointKind_t
Endpoint kind.
Definition Types.hpp:65
eprosima
eProsima namespace.
eprosima::fastdds::dds::IContentFilterFactory
The interface that a factory of IContentFilter objects should implement.
Definition IContentFilterFactory.hpp:37
eprosima::fastdds::dds::Time_t
Structure Time_t, used to describe times at a DDS level.
Definition Time_t.hpp:36
eprosima::fastdds::dds::builtin::TopicBuiltinTopicData
Definition TopicBuiltinTopicData.hpp:32
eprosima::fastdds::rtps::GUID_t
Structure GUID_t, entity identifier, unique in DDS-RTPS Domain.
Definition Guid.hpp:40