Home
Base module

ScopedConfiguration

ScopedConfiguration provides multiple levels of configuration for a module.

ScopedConfiguration

#include <icy/configuration.h>
class ScopedConfiguration

Defined in src/base/include/icy/configuration.h:195

ScopedConfiguration provides multiple levels of configuration for a module. Multiple levels means that there is a module level scope, and a default scope. When a property is accessed, the module scope value will be used if available, otherwise the default scope value will be used.

Example scoping: Module: channels.[name].modes.[name].[value] Default: modes.[name].[value]

List of all members

NameKindOwner
configvariableDeclared here
currentScopevariableDeclared here
defaultScopevariableDeclared here
ScopedConfigurationfunctionDeclared here
ScopedConfigurationfunctionDeclared here
getStringfunctionDeclared here
getIntfunctionDeclared here
getDoublefunctionDeclared here
getBoolfunctionDeclared here
setStringfunctionDeclared here
setIntfunctionDeclared here
setDoublefunctionDeclared here
setBoolfunctionDeclared here
getCurrentScopefunctionDeclared here
getDafaultKeyfunctionDeclared here
getScopedKeyfunctionDeclared here
operator=functionDeclared here

Public Attributes

ReturnNameDescription
Configuration &config
std::stringcurrentScope
std::stringdefaultScope

config

Configuration & config

Defined in src/base/include/icy/configuration.h:278


currentScope

std::string currentScope

Defined in src/base/include/icy/configuration.h:279


defaultScope

std::string defaultScope

Defined in src/base/include/icy/configuration.h:280

Public Methods

ReturnNameDescription
ScopedConfiguration
ScopedConfiguration
std::stringgetString constReturns the string value, trying currentScope first then defaultScope.
intgetInt constReturns the int value, trying currentScope first then defaultScope.
doublegetDouble constReturns the double value, trying currentScope first then defaultScope.
boolgetBool constReturns the bool value, trying currentScope first then defaultScope.
voidsetStringWrites a string value under the scoped key.
voidsetIntWrites an int value under the scoped key.
voidsetDoubleWrites a double value under the scoped key.
voidsetBoolWrites a bool value under the scoped key.
std::stringgetCurrentScope const
std::stringgetDafaultKey const
std::stringgetScopedKey const

ScopedConfiguration

ScopedConfiguration(Configuration & config, const std::string & currentScope, const std::string & defaultScope)

Defined in src/base/include/icy/configuration.h:201

Parameters

  • config Backing configuration store.

  • currentScope Key prefix for the module-level scope.

  • defaultScope Key prefix for the default/fallback scope.


ScopedConfiguration

ScopedConfiguration(const ScopedConfiguration & that)

Defined in src/base/include/icy/configuration.h:203


getString

const

std::string getString(const std::string & key, const std::string & defaultValue, bool forceDefaultScope = false) const

Defined in src/base/include/icy/configuration.h:210

Returns the string value, trying currentScope first then defaultScope.

Parameters

  • key Property key (without scope prefix).

  • defaultValue Fallback when neither scope has the key.

  • forceDefaultScope If true, skips currentScope and reads from defaultScope only.

Returns

Property value or defaultValue.


getInt

const

int getInt(const std::string & key, int defaultValue, bool forceDefaultScope = false) const

Defined in src/base/include/icy/configuration.h:219

Returns the int value, trying currentScope first then defaultScope.

Parameters

  • key Property key (without scope prefix).

  • defaultValue Fallback when neither scope has the key.

  • forceDefaultScope If true, reads from defaultScope only.

Returns

Property value or defaultValue.


getDouble

const

double getDouble(const std::string & key, double defaultValue, bool forceDefaultScope = false) const

Defined in src/base/include/icy/configuration.h:227

Returns the double value, trying currentScope first then defaultScope.

Parameters

  • key Property key (without scope prefix).

  • defaultValue Fallback when neither scope has the key.

  • forceDefaultScope If true, reads from defaultScope only.

Returns

Property value or defaultValue.


getBool

const

bool getBool(const std::string & key, bool defaultValue, bool forceDefaultScope = false) const

Defined in src/base/include/icy/configuration.h:235

Returns the bool value, trying currentScope first then defaultScope.

Parameters

  • key Property key (without scope prefix).

  • defaultValue Fallback when neither scope has the key.

  • forceDefaultScope If true, reads from defaultScope only.

Returns

Property value or defaultValue.


setString

void setString(const std::string & key, const std::string & value, bool defaultScope = false)

Defined in src/base/include/icy/configuration.h:242

Writes a string value under the scoped key.

Parameters

  • key Property key (without scope prefix).

  • value Value to store.

  • defaultScope If true, writes to defaultScope; otherwise to currentScope.


setInt

void setInt(const std::string & key, int value, bool defaultScope = false)

Defined in src/base/include/icy/configuration.h:249

Writes an int value under the scoped key.

Parameters

  • key Property key (without scope prefix).

  • value Value to store.

  • defaultScope If true, writes to defaultScope; otherwise to currentScope.


setDouble

void setDouble(const std::string & key, double value, bool defaultScope = false)

Defined in src/base/include/icy/configuration.h:255

Writes a double value under the scoped key.

Parameters

  • key Property key (without scope prefix).

  • value Value to store.

  • defaultScope If true, writes to defaultScope; otherwise to currentScope.


setBool

void setBool(const std::string & key, bool value, bool defaultScope = false)

Defined in src/base/include/icy/configuration.h:262

Writes a bool value under the scoped key.

Parameters

  • key Property key (without scope prefix).

  • value Value to store.

  • defaultScope If true, writes to defaultScope; otherwise to currentScope.


getCurrentScope

const

std::string getCurrentScope(const std::string & key) const

Defined in src/base/include/icy/configuration.h:266

Parameters

  • key Property key (without scope prefix).

Returns

Fully qualified key in currentScope.


getDafaultKey

const

std::string getDafaultKey(const std::string & key) const

Defined in src/base/include/icy/configuration.h:270

Parameters

  • key Property key (without scope prefix).

Returns

Fully qualified key in defaultScope.


getScopedKey

const

std::string getScopedKey(const std::string & key, bool defaultScope = false) const

Defined in src/base/include/icy/configuration.h:275

Parameters

  • key Property key (without scope prefix).

  • defaultScope If true, returns the defaultScope key; otherwise currentScope key.

Returns

Fully qualified scoped key string.