You are here: Part 2: Core Concepts > Working with DDS Domains > DomainParticipantFactory > Setting DomainParticipantFactory QosPolicies

Setting DomainParticipantFactory QosPolicies

The DDS_DomainParticipantFactoryQos structure has the following format:

struct DDS_DomainParticipantFactoryQos {
	DDS_EntityFactoryQosPolicy 		entity_factory;
	DDS_SystemResourceLimitsQosPolicy	resource_limits;
	DDS_ProfileQosPolicy			profile;
	DDS_LoggingQosPolicy 			logging; 
}; 

For information on why you would want to change a particular QosPolicy, see the section referenced in .

DomainParticipantFactory QoS

QosPolicy

Description

EntityFactory

Controls whether or not child entities are created in the enabled state. See ENTITYFACTORY QosPolicy.

Logging

Configures the properties associated with Connext DDS logging. See LOGGING QosPolicy (DDS Extension).

Profile

Configures the way that XML documents containing QoS profiles are loaded by RTI. See PROFILE QosPolicy (DDS Extension) .

SystemResource-Limits

Configures DomainParticipant-independent resources used by Connext DDS. Mainly used to change the maximum number of DomainParticipants that can be created within a single process (address space). See SYSTEM_RESOURCE_LIMITS QoS Policy (DDS Extension).

Getting and Setting the DomainParticipantFactory’s Default QoS Profile and Library

You can retrieve the default QoS profile for the DomainParticipantFactory with the get_default_profile() operation. You can also get the default library for the DomainParticipantFactory, as well as the library that contains the DomainParticipantFactory’s default profile (these are not necessarily the same library); these operations are called get_default_library() and get_default_library_profile(), respectively. These operations are for informational purposes only (that is, you do not need to use them as a precursor to setting a library or profile.) For more information, see Configuring QoS with XML.

virtual const char *  get_default_library ()
const char *  get_default_profile ()
const char *  get_default_profile_library ()

There are also operations for setting the DomainParticipantFactory’s default library and profile:

DDS_ReturnCode_t set_default_library  (const char *  library_name) 
DDS_ReturnCode_t set_default_profile (const char *  library_name,
const char * profile_name)

set_default_profile() specifies the profile that will be used as the default the next time a default DomainParticipantFactory profile is needed during a call to a DomainParticipantFactory operation.

When calling a DomainParticipantFactory operation that requires a profile_name parameter, you can use NULL to refer to the default profile. (This same information applies to setting a default library.)

set_default_profile() does not set the default QoS for the DomainParticipant that can be created by the DomainParticipantFactory. To set the default QoS using a profile, use the DomainParticipantFactory’s set_default_participant_qos_with_profile() operation (see Getting and Setting Default QoS for DomainParticipants).

© 2016 RTI