libcamera v0.7.1
Supporting cameras in Linux since 2019
Loading...
Searching...
No Matches
libcamera::GlobalConfiguration Class Reference

Support for global libcamera configuration. More...

Public Member Functions

 GlobalConfiguration ()
 Initialize the global configuration.
unsigned int version () const
 Retrieve the configuration version.
const ValueNodeconfiguration () const
 Retrieve the libcamera global configuration.
template<typename T>
std::optional< T > option (const std::initializer_list< std::string_view > confPath) const
 Retrieve the value of configuration option confPath.
std::optional< std::vector< std::string > > listOption (const std::initializer_list< std::string_view > confPath) const
 Retrieve the value of configuration option confPath.

Detailed Description

Support for global libcamera configuration.

The configuration file is a YAML file and the configuration itself is stored under a configuration top-level item.

The configuration file is looked up in the user's home directory first and, if it is not found, then in system-wide configuration directories. If multiple configuration files exist then only the first one found is used and no configuration merging is performed.

If the first found configuration file cannot be opened or parsed, an error is reported and no configuration file is used. This is to prevent libcamera from using an unintended configuration file.

The configuration can be accessed using the provided helpers, namely option() and listOption() to access individual options, or configuration() to access the whole configuration.

Member Function Documentation

◆ configuration()

const ValueNode & libcamera::GlobalConfiguration::configuration ( ) const

Retrieve the libcamera global configuration.

This returns the whole configuration stored in the top-level section configuration of the YAML configuration file.

The requested part of the configuration can be accessed using ValueNode methods.

Returns
The global configuration

◆ listOption()

std::optional< std::vector< std::string > > libcamera::GlobalConfiguration::listOption ( const std::initializer_list< std::string_view > confPath) const

Retrieve the value of configuration option confPath.

Parameters
[in]confPathSequence of the YAML section names (excluding configuration) leading to the requested list option, separated by dots
Returns
A vector of strings or no value if not found

◆ option()

template<typename T>
std::optional< T > libcamera::GlobalConfiguration::option ( const std::initializer_list< std::string_view > confPath) const
inline

Retrieve the value of configuration option confPath.

Template Parameters
TThe type of the retrieved configuration value
Parameters
[in]confPathSequence of the YAML section names (excluding configuration) leading to the requested option
Returns
The value of the configuration item corresponding to confPath if it exists in the configuration file, or no value otherwise

◆ version()

unsigned int libcamera::GlobalConfiguration::version ( ) const

Retrieve the configuration version.

The version is declared in the configuration file in the top-level version element, alongside configuration. This has currently no real use but may be needed in future if configuration incompatibilities occur.

Returns
Configuration version as declared in the configuration file or 0 if no global configuration is available

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