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. |
| void | registerFactory(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-04 at 23:28:44 +0000