Safe DDS
eprosima::safedds::dds::DomainParticipantFactory Class Reference

DDS Domain Participant factory. More...

#include <DomainParticipantFactory.hpp>

Public Member Functions

 DomainParticipantFactory () noexcept
 DomainParticipantFactory constructor. More...
 
 DomainParticipantFactory (platform::IAllocator &allocator) noexcept
 DomainParticipantFactory constructor. More...
 
 DomainParticipantFactory (transport::ITransport &transport_implementation) noexcept
 DomainParticipantFactory constructor. More...
 
 DomainParticipantFactory (platform::IAllocator &allocator, transport::ITransport &transport_implementation) noexcept
 DomainParticipantFactory constructor. More...
 
virtual ~DomainParticipantFactory () noexcept=default
 Default destructor. More...
 
 DomainParticipantFactory (const DomainParticipantFactory &) noexcept=delete
 Copy deleted. More...
 
 DomainParticipantFactory (DomainParticipantFactory &&) noexcept=delete
 Movement deleted. More...
 
DomainParticipantFactoryoperator= (const DomainParticipantFactory &) noexcept=delete
 Copy operator deleted. More...
 
DomainParticipantFactoryoperator= (DomainParticipantFactory &&) noexcept=delete
 Movement operator deleted due private references. More...
 
virtual DomainParticipantcreate_participant (DomainId domain_id, const DomainParticipantQos &qos, DomainParticipantListener *listener, const StatusMask &mask) noexcept
 Creates a DomainParticipant. More...
 
virtual ReturnCode decommission_contained_entities () noexcept
 Remove contained entities. More...
 
ReturnCode get_qos (DomainParticipantFactoryQos &qos) noexcept
 Get the DomainParticipantFactoryQos. More...
 
virtual execution::ISpinnablecreate_default_executor () noexcept
 Creates a default executor. More...
 
ReturnCode on_participant_pre_enable (BaseDomainParticipant &participant) noexcept override
 

Static Public Member Functions

static ReturnCode delete_participant (DomainParticipant *participant) noexcept
 Deletes a DomainParticipant. More...
 
static DomainParticipantlookup_participant (DomainId domain_id) noexcept
 Lookup a DomainParticipant. More...
 
static ReturnCode get_default_participant_qos (DomainParticipantQos &qos) noexcept
 Get the default DomainParticipantQos. More...
 
static ReturnCode set_default_participant_qos (const DomainParticipantQos &qos) noexcept
 Set the default DomainParticipantQos. More...
 
static ReturnCode set_qos (const DomainParticipantFactoryQos &qos) noexcept
 Set the DomainParticipantFactoryQos. More...
 
static void prepare_participant_qos (uint32_t participant_id, DomainParticipantQos &qos) noexcept
 Prepares a DomainParticipant QoS to be used. More...
 

Protected Member Functions

virtual BaseDomainParticipant * create_base_domain_participant (DomainId domain_id, const DomainParticipantQos &qos, DomainParticipantListener *listener, const StatusMask &mask, protocol::IMessageSink &sink, discovery::ILocatorObserver &locator_processor, ILocalParticipantObserver &local_participant_observer) noexcept
 Construct a BaseDomainParticipant. More...
 

Protected Attributes

platform::IAllocatorallocator_
 Allocator implementation. More...
 
memory::container::PreallocReferenceList< BaseDomainParticipant > created_base_participants_
 List of created participants. More...
 
memory::container::PreallocMap< transport::Locator, BaseDomainTransportDispatcher::CreatedParticipantsBitmap > prealloc_locator_to_participant_database_
 Declaration of the locator to participant index bitmap. More...
 
bool enabled_ = false
 Enabled flag. More...
 

Detailed Description

DDS Domain Participant factory.

Constructor & Destructor Documentation

◆ DomainParticipantFactory() [1/6]

eprosima::safedds::dds::DomainParticipantFactory::DomainParticipantFactory ( )
noexcept

◆ DomainParticipantFactory() [2/6]

eprosima::safedds::dds::DomainParticipantFactory::DomainParticipantFactory ( platform::IAllocator allocator)
explicitnoexcept

DomainParticipantFactory constructor.

Parameters
allocatorAllocator implementation. Ownership is not taken.

◆ DomainParticipantFactory() [3/6]

eprosima::safedds::dds::DomainParticipantFactory::DomainParticipantFactory ( transport::ITransport transport_implementation)
explicitnoexcept

DomainParticipantFactory constructor.

Parameters
transport_implementationreference to transport. Ownership is not taken.

◆ DomainParticipantFactory() [4/6]

eprosima::safedds::dds::DomainParticipantFactory::DomainParticipantFactory ( platform::IAllocator allocator,
transport::ITransport transport_implementation 
)
noexcept

DomainParticipantFactory constructor.

Parameters
allocatorAllocator implementation. Ownership is not taken.
transport_implementationreference to transport. Ownership is not taken.

◆ ~DomainParticipantFactory()

virtual eprosima::safedds::dds::DomainParticipantFactory::~DomainParticipantFactory ( )
virtualdefaultnoexcept

Default destructor.

◆ DomainParticipantFactory() [5/6]

eprosima::safedds::dds::DomainParticipantFactory::DomainParticipantFactory ( const DomainParticipantFactory )
deletenoexcept

Copy deleted.

◆ DomainParticipantFactory() [6/6]

eprosima::safedds::dds::DomainParticipantFactory::DomainParticipantFactory ( DomainParticipantFactory &&  )
deletenoexcept

Movement deleted.

Member Function Documentation

◆ create_base_domain_participant()

virtual BaseDomainParticipant* eprosima::safedds::dds::DomainParticipantFactory::create_base_domain_participant ( DomainId  domain_id,
const DomainParticipantQos qos,
DomainParticipantListener listener,
const StatusMask mask,
protocol::IMessageSink sink,
discovery::ILocatorObserver locator_processor,
ILocalParticipantObserver &  local_participant_observer 
)
protectedvirtualnoexcept

Construct a BaseDomainParticipant.

Parameters
domain_idDomain id.
qosDomain participant Qos.
listenerDomain participant listener. Ownership is not taken.
maskStatus mask.
sinkMessage sink. Ownership is not taken.
locator_processorLocator processor. Ownership is not taken.
local_participant_observerLocal participant observer. Ownership is not taken.
Returns
A pointer to the created BaseDomainParticipant.

Reimplemented in eprosima::safedds::dds::SafeDomainParticipantFactory.

◆ create_default_executor()

virtual execution::ISpinnable* eprosima::safedds::dds::DomainParticipantFactory::create_default_executor ( )
virtualnoexcept

Creates a default executor.

Returns
Default executor.

Reimplemented in eprosima::safedds::dds::SafeDomainParticipantFactory.

◆ create_participant()

virtual DomainParticipant* eprosima::safedds::dds::DomainParticipantFactory::create_participant ( DomainId  domain_id,
const DomainParticipantQos qos,
DomainParticipantListener listener,
const StatusMask mask 
)
virtualnoexcept

Creates a DomainParticipant.

Parameters
domain_idThe domain ID to be used by the DomainParticipant.
qosThe QoS to be used by the DomainParticipant.
listenerThe listener to be used by the DomainParticipant. Ownership is not taken.
maskThe mask to be used by the DomainParticipant.
Returns
A pointer to the created DomainParticipant.

◆ decommission_contained_entities()

virtual ReturnCode eprosima::safedds::dds::DomainParticipantFactory::decommission_contained_entities ( )
virtualnoexcept

Remove contained entities.

Note
This method will remove all contained entities.
Returns
ReturnCode. If any participant deletion fails, the code of the first failed operation; otherwise OK.

Reimplemented in eprosima::safedds::dds::SafeDomainParticipantFactory.

◆ delete_participant()

static ReturnCode eprosima::safedds::dds::DomainParticipantFactory::delete_participant ( DomainParticipant participant)
staticnoexcept

Deletes a DomainParticipant.

Parameters
participantThe DomainParticipant to be deleted.
Returns
ReturnCode

◆ get_default_participant_qos()

static ReturnCode eprosima::safedds::dds::DomainParticipantFactory::get_default_participant_qos ( DomainParticipantQos qos)
staticnoexcept

Get the default DomainParticipantQos.

Parameters
qosThe DomainParticipantQos to be filled with the default values.
Returns
ReturnCode

◆ get_qos()

ReturnCode eprosima::safedds::dds::DomainParticipantFactory::get_qos ( DomainParticipantFactoryQos qos)
noexcept

Get the DomainParticipantFactoryQos.

Parameters
qosThe DomainParticipantFactoryQos to be filled with the current values.
Returns
ReturnCode

◆ lookup_participant()

static DomainParticipant* eprosima::safedds::dds::DomainParticipantFactory::lookup_participant ( DomainId  domain_id)
staticnoexcept

Lookup a DomainParticipant.

Parameters
domain_idThe domain ID of the DomainParticipant to be looked up.
Returns
A pointer to the DomainParticipant if it exists, nullptr otherwise.

◆ on_participant_pre_enable()

ReturnCode eprosima::safedds::dds::DomainParticipantFactory::on_participant_pre_enable ( BaseDomainParticipant &  participant)
overridenoexcept

◆ operator=() [1/2]

DomainParticipantFactory& eprosima::safedds::dds::DomainParticipantFactory::operator= ( const DomainParticipantFactory )
deletenoexcept

Copy operator deleted.

◆ operator=() [2/2]

DomainParticipantFactory& eprosima::safedds::dds::DomainParticipantFactory::operator= ( DomainParticipantFactory &&  )
deletenoexcept

Movement operator deleted due private references.

◆ prepare_participant_qos()

static void eprosima::safedds::dds::DomainParticipantFactory::prepare_participant_qos ( uint32_t  participant_id,
DomainParticipantQos qos 
)
staticnoexcept

Prepares a DomainParticipant QoS to be used.

Note
This method will configure transport locators.
Parameters
participant_idThe ID of the DomainParticipant.
qosThe QoS to be used by the DomainParticipant.

◆ set_default_participant_qos()

static ReturnCode eprosima::safedds::dds::DomainParticipantFactory::set_default_participant_qos ( const DomainParticipantQos qos)
staticnoexcept

Set the default DomainParticipantQos.

Parameters
qosThe DomainParticipantQos to be set as default.
Returns
ReturnCode

◆ set_qos()

static ReturnCode eprosima::safedds::dds::DomainParticipantFactory::set_qos ( const DomainParticipantFactoryQos qos)
staticnoexcept

Set the DomainParticipantFactoryQos.

Parameters
qosThe DomainParticipantFactoryQos to be set.
Returns
ReturnCode

Member Data Documentation

◆ allocator_

platform::IAllocator& eprosima::safedds::dds::DomainParticipantFactory::allocator_
protected

Allocator implementation.

◆ created_base_participants_

memory::container::PreallocReferenceList<BaseDomainParticipant> eprosima::safedds::dds::DomainParticipantFactory::created_base_participants_
protected

List of created participants.

◆ enabled_

bool eprosima::safedds::dds::DomainParticipantFactory::enabled_ = false
protected

Enabled flag.

◆ prealloc_locator_to_participant_database_

memory::container::PreallocMap<transport::Locator, BaseDomainTransportDispatcher::CreatedParticipantsBitmap> eprosima::safedds::dds::DomainParticipantFactory::prealloc_locator_to_participant_database_
protected

Declaration of the locator to participant index bitmap.


The documentation for this class was generated from the following file: