Class DomainParticipantFactory. More...
#include <DomainParticipantFactory.hpp>
Public Member Functions | |
FASTDDS_EXPORTED_API DomainParticipant * | create_participant (DomainId_t domain_id, const DomainParticipantQos &qos, DomainParticipantListener *listener=nullptr, const StatusMask &mask=StatusMask::all()) |
Create a Participant. | |
FASTDDS_EXPORTED_API DomainParticipant * | create_participant (const DomainParticipantExtendedQos &extended_qos, DomainParticipantListener *listener=nullptr, const StatusMask &mask=StatusMask::all()) |
Create a Participant. | |
FASTDDS_EXPORTED_API DomainParticipant * | create_participant_with_default_profile () |
Create a Participant with default domain id and qos. | |
FASTDDS_EXPORTED_API DomainParticipant * | create_participant_with_default_profile (DomainParticipantListener *listener, const StatusMask &mask) |
Create a Participant with default domain id and qos. | |
FASTDDS_EXPORTED_API DomainParticipant * | create_participant_with_profile (DomainId_t domain_id, const std::string &profile_name, DomainParticipantListener *listener=nullptr, const StatusMask &mask=StatusMask::all()) |
Create a Participant. | |
FASTDDS_EXPORTED_API DomainParticipant * | create_participant_with_profile (const std::string &profile_name, DomainParticipantListener *listener=nullptr, const StatusMask &mask=StatusMask::all()) |
Create a Participant. | |
FASTDDS_EXPORTED_API DomainParticipant * | lookup_participant (DomainId_t domain_id) const |
This operation retrieves a previously created DomainParticipant belonging to specified domain_id. | |
FASTDDS_EXPORTED_API std::vector< DomainParticipant * > | lookup_participants (DomainId_t domain_id) const |
Returns all participants that belongs to the specified domain_id. | |
FASTDDS_EXPORTED_API ReturnCode_t | get_default_participant_qos (DomainParticipantQos &qos) const |
This operation retrieves the default value of the DomainParticipant QoS, that is, the QoS policies which will be used for newly created DomainParticipant entities in the case where the QoS policies are defaulted in the create_participant operation. | |
FASTDDS_EXPORTED_API const DomainParticipantQos & | get_default_participant_qos () const |
This operation retrieves the default value of the DomainParticipant QoS, that is, the QoS policies which will be used for newly created DomainParticipant entities in the case where the QoS policies are defaulted in the create_participant operation. | |
FASTDDS_EXPORTED_API ReturnCode_t | set_default_participant_qos (const DomainParticipantQos &qos) |
This operation sets a default value of the DomainParticipant QoS policies which will be used for newly created DomainParticipant entities in the case where the QoS policies are defaulted in the create_participant operation. | |
FASTDDS_EXPORTED_API ReturnCode_t | get_participant_qos_from_profile (const std::string &profile_name, DomainParticipantQos &qos) const |
Fills the DomainParticipantQos with the values of the XML profile. | |
FASTDDS_EXPORTED_API ReturnCode_t | get_participant_extended_qos_from_profile (const std::string &profile_name, DomainParticipantExtendedQos &extended_qos) const |
Fills the DomainParticipantExtendedQos with the values of the XML profile. | |
FASTDDS_EXPORTED_API ReturnCode_t | get_participant_extended_qos_from_default_profile (DomainParticipantExtendedQos &extended_qos) const |
Fills the DomainParticipantExtendedQos with the values of the default XML profile. | |
FASTDDS_EXPORTED_API ReturnCode_t | delete_participant (DomainParticipant *part) |
Remove a Participant and all associated publishers and subscribers. | |
FASTDDS_EXPORTED_API ReturnCode_t | load_profiles () |
Load profiles from default XML file. | |
FASTDDS_EXPORTED_API ReturnCode_t | load_XML_profiles_file (const std::string &xml_profile_file) |
Load profiles from XML file. | |
FASTDDS_EXPORTED_API ReturnCode_t | load_XML_profiles_string (const char *data, size_t length) |
Load profiles from XML string. | |
FASTDDS_EXPORTED_API ReturnCode_t | check_xml_static_discovery (std::string &xml_file) |
Check the validity of the provided static discovery XML file. | |
FASTDDS_EXPORTED_API ReturnCode_t | get_qos (DomainParticipantFactoryQos &qos) const |
This operation returns the value of the DomainParticipantFactory QoS policies. | |
FASTDDS_EXPORTED_API ReturnCode_t | set_qos (const DomainParticipantFactoryQos &qos) |
This operation sets the value of the DomainParticipantFactory QoS policies. | |
FASTDDS_EXPORTED_API ReturnCode_t | get_library_settings (LibrarySettings &library_settings) const |
This operation returns the value of the DomainParticipant library settings. | |
FASTDDS_EXPORTED_API ReturnCode_t | set_library_settings (const LibrarySettings &library_settings) |
This operation sets the library settings. | |
FASTDDS_EXPORTED_API ReturnCode_t | get_dynamic_type_builder_from_xml_by_name (const std::string &type_name, DynamicTypeBuilder::_ref_type &type) |
Get the DynamicType defined in XML file. | |
FASTDDS_EXPORTED_API xtypes::ITypeObjectRegistry & | type_object_registry () |
Return the TypeObjectRegistry member to access the public API. | |
Static Public Member Functions | |
static FASTDDS_EXPORTED_API DomainParticipantFactory * | get_instance () |
Returns the DomainParticipantFactory singleton instance. | |
static FASTDDS_EXPORTED_API std::shared_ptr< DomainParticipantFactory > | get_shared_instance () |
Returns the DomainParticipantFactory singleton instance. | |
Protected Member Functions | |
DomainParticipantFactory () | |
virtual | ~DomainParticipantFactory () |
DomainParticipantFactory (const DomainParticipantFactory &)=delete | |
void | operator= (const DomainParticipantFactory &)=delete |
void | reset_default_participant_qos () |
void | participant_has_been_deleted (DomainParticipantImpl *part) |
Static Protected Member Functions | |
static void | set_qos (DomainParticipantFactoryQos &to, const DomainParticipantFactoryQos &from, bool first_time) |
static ReturnCode_t | check_qos (const DomainParticipantFactoryQos &qos) |
static bool | can_qos_be_updated (const DomainParticipantFactoryQos &to, const DomainParticipantFactoryQos &from) |
Protected Attributes | |
std::map< DomainId_t, std::vector< DomainParticipantImpl * > > | participants_ |
std::mutex | mtx_participants_ |
bool | default_xml_profiles_loaded |
DomainId_t | default_domain_id_ |
DomainParticipantFactoryQos | factory_qos_ |
DomainParticipantQos | default_participant_qos_ |
std::shared_ptr< fastdds::rtps::detail::TopicPayloadPoolRegistry > | topic_pool_ |
std::shared_ptr< fastdds::rtps::RTPSDomainImpl > | rtps_domain_ |
std::shared_ptr< detail::LogResources > | log_resources_ |
std::mutex | default_xml_profiles_loaded_mtx_ |
This mutex guards the access to load the profiles. | |
Friends | |
class | DomainParticipant |
Class DomainParticipantFactory.
|
protected |
|
protectedvirtual |
|
protecteddelete |
|
staticprotected |
|
staticprotected |
FASTDDS_EXPORTED_API ReturnCode_t check_xml_static_discovery | ( | std::string & | xml_file | ) |
Check the validity of the provided static discovery XML file.
xml_file | xml file path |
FASTDDS_EXPORTED_API DomainParticipant * create_participant | ( | const DomainParticipantExtendedQos & | extended_qos, |
DomainParticipantListener * | listener = nullptr , |
||
const StatusMask & | mask = StatusMask::all() |
||
) |
Create a Participant.
extended_qos | DomainParticipantExtendedQos Reference. |
listener | DomainParticipantListener Pointer (default: nullptr) |
mask | StatusMask Reference (default: all) |
FASTDDS_EXPORTED_API DomainParticipant * create_participant | ( | DomainId_t | domain_id, |
const DomainParticipantQos & | qos, | ||
DomainParticipantListener * | listener = nullptr , |
||
const StatusMask & | mask = StatusMask::all() |
||
) |
Create a Participant.
domain_id | Domain Id. |
qos | DomainParticipantQos Reference. |
listener | DomainParticipantListener Pointer (default: nullptr) |
mask | StatusMask Reference (default: all) |
FASTDDS_EXPORTED_API DomainParticipant * create_participant_with_default_profile | ( | ) |
Create a Participant with default domain id and qos.
FASTDDS_EXPORTED_API DomainParticipant * create_participant_with_default_profile | ( | DomainParticipantListener * | listener, |
const StatusMask & | mask | ||
) |
Create a Participant with default domain id and qos.
listener | DomainParticipantListener Pointer |
mask | StatusMask Reference |
FASTDDS_EXPORTED_API DomainParticipant * create_participant_with_profile | ( | const std::string & | profile_name, |
DomainParticipantListener * | listener = nullptr , |
||
const StatusMask & | mask = StatusMask::all() |
||
) |
Create a Participant.
profile_name | Participant profile name. |
listener | DomainParticipantListener Pointer (default: nullptr) |
mask | StatusMask Reference (default: all) |
FASTDDS_EXPORTED_API DomainParticipant * create_participant_with_profile | ( | DomainId_t | domain_id, |
const std::string & | profile_name, | ||
DomainParticipantListener * | listener = nullptr , |
||
const StatusMask & | mask = StatusMask::all() |
||
) |
Create a Participant.
domain_id | Domain Id. |
profile_name | Participant profile name. |
listener | DomainParticipantListener Pointer (default: nullptr) |
mask | StatusMask Reference (default: all) |
FASTDDS_EXPORTED_API ReturnCode_t delete_participant | ( | DomainParticipant * | part | ) |
Remove a Participant and all associated publishers and subscribers.
part | Pointer to the participant. |
FASTDDS_EXPORTED_API const DomainParticipantQos & get_default_participant_qos | ( | ) | const |
This operation retrieves the default value of the DomainParticipant QoS, that is, the QoS policies which will be used for newly created DomainParticipant entities in the case where the QoS policies are defaulted in the create_participant operation.
The values retrieved get_default_participant_qos will match the set of values specified on the last successful call to set_default_participant_qos, or else, if the call was never made, the default values.
FASTDDS_EXPORTED_API ReturnCode_t get_default_participant_qos | ( | DomainParticipantQos & | qos | ) | const |
This operation retrieves the default value of the DomainParticipant QoS, that is, the QoS policies which will be used for newly created DomainParticipant entities in the case where the QoS policies are defaulted in the create_participant operation.
The values retrieved get_default_participant_qos will match the set of values specified on the last successful call to set_default_participant_qos, or else, if the call was never made, the default values.
qos | DomainParticipantQos where the qos is returned |
FASTDDS_EXPORTED_API ReturnCode_t get_dynamic_type_builder_from_xml_by_name | ( | const std::string & | type_name, |
DynamicTypeBuilder::_ref_type & | type | ||
) |
Get the DynamicType defined in XML file.
The XML file shall be previously loaded.
type_name | Dynamic type name. |
type | Reference where the Dynamic type builder is returned. |
|
static |
Returns the DomainParticipantFactory singleton instance.
FASTDDS_EXPORTED_API ReturnCode_t get_library_settings | ( | LibrarySettings & | library_settings | ) | const |
This operation returns the value of the DomainParticipant library settings.
library_settings | LibrarySettings reference where the settings are returned. |
FASTDDS_EXPORTED_API ReturnCode_t get_participant_extended_qos_from_default_profile | ( | DomainParticipantExtendedQos & | extended_qos | ) | const |
Fills the DomainParticipantExtendedQos with the values of the default XML profile.
extended_qos | DomainParticipantExtendedQos object where the domain and qos are returned. |
FASTDDS_EXPORTED_API ReturnCode_t get_participant_extended_qos_from_profile | ( | const std::string & | profile_name, |
DomainParticipantExtendedQos & | extended_qos | ||
) | const |
Fills the DomainParticipantExtendedQos with the values of the XML profile.
profile_name | DomainParticipant profile name. |
extended_qos | DomainParticipantExtendedQos object where the domain and qos are returned. |
FASTDDS_EXPORTED_API ReturnCode_t get_participant_qos_from_profile | ( | const std::string & | profile_name, |
DomainParticipantQos & | qos | ||
) | const |
Fills the DomainParticipantQos with the values of the XML profile.
profile_name | DomainParticipant profile name. |
qos | DomainParticipantQos object where the qos is returned. |
FASTDDS_EXPORTED_API ReturnCode_t get_qos | ( | DomainParticipantFactoryQos & | qos | ) | const |
This operation returns the value of the DomainParticipantFactory QoS policies.
qos | DomaParticipantFactoryQos reference where the qos is returned |
|
static |
Returns the DomainParticipantFactory singleton instance.
FASTDDS_EXPORTED_API ReturnCode_t load_profiles | ( | ) |
Load profiles from default XML file.
FASTDDS_EXPORTED_API ReturnCode_t load_XML_profiles_file | ( | const std::string & | xml_profile_file | ) |
Load profiles from XML file.
xml_profile_file | XML profile file. |
FASTDDS_EXPORTED_API ReturnCode_t load_XML_profiles_string | ( | const char * | data, |
size_t | length | ||
) |
Load profiles from XML string.
data | buffer containing xml data. |
length | length of data |
FASTDDS_EXPORTED_API DomainParticipant * lookup_participant | ( | DomainId_t | domain_id | ) | const |
This operation retrieves a previously created DomainParticipant belonging to specified domain_id.
If no such DomainParticipant exists, the operation will return 'nullptr'. If multiple DomainParticipant entities belonging to that domain_id exist, then the operation will return one of them. It is not specified which one.
domain_id |
FASTDDS_EXPORTED_API std::vector< DomainParticipant * > lookup_participants | ( | DomainId_t | domain_id | ) | const |
Returns all participants that belongs to the specified domain_id.
domain_id |
|
protecteddelete |
|
protected |
|
protected |
FASTDDS_EXPORTED_API ReturnCode_t set_default_participant_qos | ( | const DomainParticipantQos & | qos | ) |
This operation sets a default value of the DomainParticipant QoS policies which will be used for newly created DomainParticipant entities in the case where the QoS policies are defaulted in the create_participant 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 PARTICIPANT_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_participant_qos operation had never been called.
qos | DomainParticipantQos to be set |
FASTDDS_EXPORTED_API ReturnCode_t set_library_settings | ( | const LibrarySettings & | library_settings | ) |
This operation sets the library settings.
Library settings must be set before enabling the DomainParticipants. Otherwise, failure of the setting operation is expected.
library_settings | LibrarySettings to be set. |
FASTDDS_EXPORTED_API ReturnCode_t set_qos | ( | const DomainParticipantFactoryQos & | qos | ) |
This operation sets the value of the DomainParticipantFactory QoS policies.
These policies control the behavior of the object a factory for entities.
Note that despite having QoS, the DomainParticipantFactory is not an Entity.
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.
qos | DomainParticipantFactoryQos to be set. |
|
staticprotected |
FASTDDS_EXPORTED_API xtypes::ITypeObjectRegistry & type_object_registry | ( | ) |
Return the TypeObjectRegistry member to access the public API.
|
friend |
|
protected |
|
protected |
|
mutableprotected |
|
mutableprotected |
This mutex guards the access to load the profiles.
Is used to lock every thread that is trying to load the profiles, so only the first one loads it and until it is not finished the rest of them does not leave function load_profiles
.
|
protected |
|
protected |
|
mutableprotected |
|
protected |
|
protected |
|
protected |