23#include <fastdds/dds/topic/TopicDataType.hpp>
24#include <fastrtps/attributes/ParticipantAttributes.h>
28#if defined(__GNUC__) || defined(__clang__)
29#define DEPRECATED __attribute__ ((deprecated))
30#elif defined(_MSC_VER)
31#define DEPRECATED __declspec(deprecated)
42class ParticipantListener;
46class PublisherAttributes;
47class PublisherListener;
49class SubscriberAttributes;
50class SubscriberListener;
53class DynamicPubSubType;
71 const std::string& participant_profile,
97 const std::string& publisher_profile,
125 const std::string& subscriber_profile,
177 const char* typeName,
178 fastdds::dds::TopicDataType** type);
188 fastdds::dds::TopicDataType* type);
208 const char* typeName);
221 const std::string& xml_profile_file);
235 typedef std::pair<Participant*, ParticipantImpl*> t_p_Participant;
241 static std::mutex m_mutex;
243 static std::vector<t_p_Participant> m_participants;
245 static bool default_xml_profiles_loaded;
Class Domain, use to interact with the Publisher Subscriber API of the Fast RTPS implementation.
Definition Domain.h:61
static RTPS_DllAPI Publisher * createPublisher(Participant *part, const PublisherAttributes &att, PublisherListener *listen=nullptr)
Create a Publisher in a Participant.
static RTPS_DllAPI void getDefaultParticipantAttributes(ParticipantAttributes &participant_attributes)
Fills participant_attributes with the default values.
static RTPS_DllAPI bool removeParticipant(Participant *part)
Remove a Participant and all associated publishers and subscribers.
static RTPS_DllAPI bool removePublisher(Publisher *pub)
Remove a Publisher.
static RTPS_DllAPI void getDefaultPublisherAttributes(PublisherAttributes &publisher_attributes)
Fills publisher_attributes with the default values.
static RTPS_DllAPI bool registerType(Participant *part, fastdds::dds::TopicDataType *type)
Register a type in a participant.
static RTPS_DllAPI bool getRegisteredType(Participant *part, const char *typeName, fastdds::dds::TopicDataType **type)
Return a registered type.
static RTPS_DllAPI void getDefaultSubscriberAttributes(SubscriberAttributes &subscriber_attributes)
Fills subscriber_attributes with the default values.
static RTPS_DllAPI bool loadXMLProfilesString(const char *data, size_t length)
Load profiles from XML string.
RTPS_DllAPI static DEPRECATED Participant * createParticipant(const ParticipantAttributes &att, ParticipantListener *listen=nullptr)
Create a Participant.
RTPS_DllAPI static DEPRECATED Participant * createParticipant(const std::string &participant_profile, ParticipantListener *listen=nullptr)
Create a Participant from a profile name.
static RTPS_DllAPI bool loadXMLProfilesFile(const std::string &xml_profile_file)
Load profiles from XML file.
static RTPS_DllAPI bool removeSubscriber(Subscriber *sub)
Remove a Subscriber.
static RTPS_DllAPI void stopAll()
Stop and remove all participants, publishers and subscribers in this Domain.
static RTPS_DllAPI Subscriber * createSubscriber(Participant *part, const std::string &subscriber_profile, SubscriberListener *listen=nullptr)
Create a Subscriber in a Participant from a profile name.
static RTPS_DllAPI bool registerDynamicType(Participant *part, types::DynamicPubSubType *type)
Register a type in a participant.
static RTPS_DllAPI bool unregisterType(Participant *part, const char *typeName)
Unregister a type in a participant.
static RTPS_DllAPI Subscriber * createSubscriber(Participant *part, const SubscriberAttributes &att, SubscriberListener *listen=nullptr)
Create a Subscriber in a Participant.
static RTPS_DllAPI Publisher * createPublisher(Participant *part, const std::string &publisher_profile, PublisherListener *listen=nullptr)
Create a Publisher in a Participant from a profile name.
Class ParticipantAttributes, used by the user to define the attributes of a Participant.
Definition ParticipantAttributes.h:35
Class Participant used to group Publishers and Subscribers into a single working unit.
Definition Participant.h:47
Class ParticipantListener, overrides behaviour towards certain events.
Definition ParticipantListener.h:37
Class PublisherAttributes, used by the user to define the attributes of a Publisher.
Definition PublisherAttributes.h:41
Class Publisher, used to send data to associated subscribers.
Definition Publisher.h:47
Class PublisherListener, allows the end user to implement callbacks triggered by certain events.
Definition PublisherListener.h:37
Class SubscriberAttributes, used by the user to define the attributes of a Subscriber.
Definition SubscriberAttributes.h:39
Class Subscriber, contains the public API that allows the user to control the reception of messages.
Definition Subscriber.h:44
Class SubscriberListener, it should be used by the end user to implement specific callbacks to certai...
Definition SubscriberListener.h:41
Definition DynamicPubSubType.h:29
eProsima namespace.
Definition LibrarySettingsAttributes.h:23