 |
FastRTPS
Version 2.11.2
FastRTPS
|
15 #ifndef XML_PROFILE_MANAGER_H_
16 #define XML_PROFILE_MANAGER_H_
18 #include <fastrtps/attributes/ParticipantAttributes.h>
19 #include <fastrtps/attributes/PublisherAttributes.h>
20 #include <fastrtps/attributes/SubscriberAttributes.h>
21 #include <fastrtps/xmlparser/XMLParserCommon.h>
22 #include <fastrtps/xmlparser/XMLParser.h>
23 #include <fastrtps/types/DynamicTypeBuilderFactory.h>
24 #include <fastrtps/types/DynamicTypeBuilder.h>
25 #include <fastrtps/types/DynamicPubSubType.h>
69 const std::string& filename);
89 tinyxml2::XMLDocument& doc);
98 tinyxml2::XMLElement& profiles);
106 tinyxml2::XMLElement& types);
129 const std::string& profile_name,
131 bool log_error =
true);
145 const std::string& profile_name,
147 bool log_error =
true);
161 const std::string& profile_name,
163 bool log_error =
true);
171 const std::string& transport_id,
176 const std::string& transport_id);
185 const std::string& profile_name,
194 const std::string& type_name,
199 const std::string& type_name);
209 const std::string& profile_name,
219 const std::string& profile_name,
229 participant_profiles_.clear();
230 publisher_profiles_.clear();
231 subscriber_profiles_.clear();
232 requester_profiles_.clear();
233 replier_profiles_.clear();
234 topic_profiles_.clear();
236 transport_profiles_.clear();
245 const std::string& type_name)
247 if (dynamic_types_.find(type_name) != dynamic_types_.end())
266 RTPS_DllAPI
static XMLP_ret extractProfiles(
268 const std::string& filename);
270 RTPS_DllAPI
static XMLP_ret extractParticipantProfile(
272 const std::string& filename);
274 RTPS_DllAPI
static XMLP_ret extractPublisherProfile(
276 const std::string& filename);
278 RTPS_DllAPI
static XMLP_ret extractSubscriberProfile(
280 const std::string& filename);
282 RTPS_DllAPI
static XMLP_ret extractTopicProfile(
284 const std::string& filename);
286 RTPS_DllAPI
static XMLP_ret extractRequesterProfile(
288 const std::string& filename);
290 RTPS_DllAPI
static XMLP_ret extractReplierProfile(
292 const std::string& filename);
321 #endif // ifndef XML_PROFILE_MANAGER_H_
Definition: ReplierAttributes.hpp:28
static RTPS_DllAPI XMLP_ret loadXMLString(const char *data, size_t length)
Load a profiles XML string.
static RTPS_DllAPI p_dynamictypebuilder_t getDynamicTypeByName(const std::string &type_name)
Retrieves a transport instance by its name.
std::shared_ptr< fastdds::rtps::TransportDescriptorInterface > sp_transport_t
Definition: XMLParser.h:50
static RTPS_DllAPI bool insertTransportById(const std::string &transport_id, sp_transport_t transport)
Add a new transport instance along with its id.
static RTPS_DllAPI void getDefaultParticipantAttributes(ParticipantAttributes &participant_attributes)
Fills participant_attributes with the default values.
std::map< std::string, p_dynamictypebuilder_t > p_dynamictype_map_t
Definition: XMLParser.h:53
static RTPS_DllAPI XMLP_ret fillSubscriberAttributes(const std::string &profile_name, SubscriberAttributes &atts, bool log_error=true)
Search for the profile specified and fill the structure.
static const RTPS_DllAPI LibrarySettingsAttributes & library_settings()
Library settings getter.
std::map< std::string, up_topic_t > topic_map_t
Definition: XMLProfileManager.h:41
Class ParticipantAttributes, used by the user to define the attributes of a Participant.
Definition: ParticipantAttributes.h:34
Class XMLProfileManager, used to make available profiles from XML file.
Definition: XMLProfileManager.h:53
static RTPS_DllAPI XMLP_ret fillParticipantAttributes(const std::string &profile_name, ParticipantAttributes &atts, bool log_error=true)
Search for the profile specified and fill the structure.
static RTPS_DllAPI XMLP_ret loadXMLNode(tinyxml2::XMLDocument &doc)
Load a profiles XML node.
participant_map_t::iterator part_map_iterator_t
Definition: XMLProfileManager.h:36
Class PublisherAttributes, used by the user to define the attributes of a Publisher.
Definition: PublisherAttributes.h:40
Definition: DynamicTypeBuilder.h:31
static RTPS_DllAPI void getDefaultPublisherAttributes(PublisherAttributes &publisher_attributes)
Fills publisher_attributes with the default values.
static RTPS_DllAPI XMLP_ret fillPublisherAttributes(const std::string &profile_name, PublisherAttributes &atts, bool log_error=true)
Search for the profile specified and fill the structure.
static RTPS_DllAPI void DeleteInstance()
Deletes the XMLProfileManager instance.
Definition: XMLProfileManager.h:227
static RTPS_DllAPI XMLP_ret fillTopicAttributes(const std::string &profile_name, TopicAttributes &atts)
Search for the profile specified and fill the structure.
static RTPS_DllAPI void getDefaultSubscriberAttributes(SubscriberAttributes &subscriber_attributes)
Fills subscriber_attributes with the default values.
Definition: DynamicPubSubType.h:28
std::map< std::string, sp_transport_t > sp_transport_map_t
Definition: XMLParser.h:51
requester_map_t::iterator requester_map_iterator_t
Definition: XMLProfileManager.h:44
static RTPS_DllAPI XMLP_ret loadXMLDynamicTypes(tinyxml2::XMLElement &types)
Load a dynamic types XML node.
static RTPS_DllAPI XMLP_ret loadXMLFile(const std::string &filename)
Load a profiles XML file.
static RTPS_DllAPI XMLP_ret fillReplierAttributes(const std::string &profile_name, ReplierAttributes &atts)
Search for the profile specified and fill the structure.
publisher_map_t::iterator publ_map_iterator_t
Definition: XMLProfileManager.h:38
static RTPS_DllAPI void DeleteDynamicPubSubType(types::DynamicPubSubType *type)
Deletes the given DynamicPubSubType previously created by calling XMLProfileManager::CreateDynamicPub...
Definition: XMLProfileManager.h:258
topic_map_t::iterator topic_map_iterator_t
Definition: XMLProfileManager.h:42
std::map< std::string, XMLP_ret > xmlfiles_map_t
Definition: XMLProfileManager.h:47
std::map< std::string, up_publisher_t > publisher_map_t
Definition: XMLProfileManager.h:37
static RTPS_DllAPI bool insertDynamicTypeByName(const std::string &type_name, p_dynamictypebuilder_t type)
Add a new dynamic type instance along with its name.
replier_map_t::iterator replier_map_iterator_t
Definition: XMLProfileManager.h:46
XMLP_ret
Enum class XMLP_ret, used to provide a strongly typed result from the operations within this module.
Definition: XMLParserCommon.h:25
static RTPS_DllAPI types::DynamicPubSubType * CreateDynamicPubSubType(const std::string &type_name)
Retrieves a DynamicPubSubType for the given dynamic type name.
Definition: XMLProfileManager.h:244
static RTPS_DllAPI XMLP_ret loadXMLProfiles(tinyxml2::XMLElement &profiles)
Load a profiles XML node.
xmlfiles_map_t::iterator xmlfile_map_iterator_t
Definition: XMLProfileManager.h:48
std::map< std::string, up_requester_t > requester_map_t
Definition: XMLProfileManager.h:43
static RTPS_DllAPI void loadDefaultXMLFile()
Load the default profiles XML file.
std::map< std::string, up_participant_t > participant_map_t
Definition: XMLProfileManager.h:35
static RTPS_DllAPI sp_transport_t getTransportById(const std::string &transport_id)
Retrieves a transport instance by its id.
Definition: RequesterAttributes.hpp:28
std::map< std::string, up_replier_t > replier_map_t
Definition: XMLProfileManager.h:45
static RTPS_DllAPI void getDefaultTopicAttributes(TopicAttributes &topic_attributes)
Fills topic_attributes with the default values.
Class TopicAttributes, used by the user to define the attributes of the topic associated with a Publi...
Definition: TopicAttributes.h:35
Class LibraySettingsAttributes, used by the user to define the FastRTPS library behaviour.
Definition: LibrarySettingsAttributes.h:37
std::unique_ptr< BaseNode > up_base_node_t
Definition: XMLParser.h:42
Definition: LibrarySettingsAttributes.h:23
subscriber_map_t::iterator subs_map_iterator_t
Definition: XMLProfileManager.h:40
Class SubscriberAttributes, used by the user to define the attributes of a Subscriber.
Definition: SubscriberAttributes.h:38
std::map< std::string, up_subscriber_t > subscriber_map_t
Definition: XMLProfileManager.h:39
static RTPS_DllAPI XMLP_ret fillRequesterAttributes(const std::string &profile_name, RequesterAttributes &atts)
Search for the profile specified and fill the structure.