Skip to main content
Version: 1.0.15

ecdev::ProfileRegistry

Registry of IProfileFactory plugins. More...

#include <profile_registry.hpp>

Public Functions

Name
std::unique_ptr< IDeviceProfile >select(const ProfileSelectionInput & in) const
std::unique_ptr< IDeviceProfile >select(const ProfileSelectionInput & in, const std::vector< std::shared_ptr< IProfileFactory > > & extra_factories) const
Like select(in), but also considers app-supplied factories (e.g.
voidregisterFactory(std::unique_ptr< IProfileFactory > factory)
ProfileRegistry &builtin()
The process-wide registry, populated by self-registering device-class TUs at static init.

Detailed Description

class ecdev::ProfileRegistry;

Registry of IProfileFactory plugins.

select() returns the best-claiming profile for a slave, or null when no factory claims it (the caller decides what an unmatched slave means).

The process-wide [builtin](/lxmaster/api/classes/ProfileRegistry#function-builtin) registry is populated entirely by self-registering device-class translation units (LXMASTER_REGISTER_DEVICE); there is no central list of built-in factories.

Public Functions Documentation

function select

std::unique_ptr< IDeviceProfile > select(
const ProfileSelectionInput & in
) const

function select

std::unique_ptr< IDeviceProfile > select(
const ProfileSelectionInput & in,
const std::vector< std::shared_ptr< IProfileFactory > > & extra_factories
) const

Like select(in), but also considers app-supplied factories (e.g.

NetworkConfig::extra_profile_factories) ahead of the built-ins, so an application can bind a device class for one run without static registration. Ties favour extra_factories.

function registerFactory

void registerFactory(
std::unique_ptr< IProfileFactory > factory
)

function builtin

static ProfileRegistry & builtin()

The process-wide registry, populated by self-registering device-class TUs at static init.


Updated on 2026-07-06 at 04:47:20 +0000