Base module

ScopedConfiguration

ScopedConfiguration provides multiple levels of configuration for a module.

#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]

Public Attributes

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

config

Configuration & config

Type: Configuration &

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

ParameterTypeDescription
configConfiguration &Backing configuration store.
currentScopeconst std::string &Key prefix for the module-level scope.
defaultScopeconst std::string &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.

Returns

Property value or defaultValue.

Parameters

ParameterTypeDescription
keyconst std::string &Property key (without scope prefix).
defaultValueconst std::string &Fallback when neither scope has the key.
forceDefaultScopeboolIf true, skips currentScope and reads from defaultScope only.

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.

Returns

Property value or defaultValue.

Parameters

ParameterTypeDescription
keyconst std::string &Property key (without scope prefix).
defaultValueintFallback when neither scope has the key.
forceDefaultScopeboolIf true, reads from defaultScope only.

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.

Returns

Property value or defaultValue.

Parameters

ParameterTypeDescription
keyconst std::string &Property key (without scope prefix).
defaultValuedoubleFallback when neither scope has the key.
forceDefaultScopeboolIf true, reads from defaultScope only.

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.

Returns

Property value or defaultValue.

Parameters

ParameterTypeDescription
keyconst std::string &Property key (without scope prefix).
defaultValueboolFallback when neither scope has the key.
forceDefaultScopeboolIf true, reads from defaultScope only.

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

ParameterTypeDescription
keyconst std::string &Property key (without scope prefix).
valueconst std::string &Value to store.
defaultScopeboolIf 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

ParameterTypeDescription
keyconst std::string &Property key (without scope prefix).
valueintValue to store.
defaultScopeboolIf 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

ParameterTypeDescription
keyconst std::string &Property key (without scope prefix).
valuedoubleValue to store.
defaultScopeboolIf 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

ParameterTypeDescription
keyconst std::string &Property key (without scope prefix).
valueboolValue to store.
defaultScopeboolIf 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

Returns

Fully qualified key in currentScope.

Parameters

ParameterTypeDescription
keyconst std::string &Property key (without scope prefix).

getDafaultKey

const

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

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

Returns

Fully qualified key in defaultScope.

Parameters

ParameterTypeDescription
keyconst std::string &Property key (without scope prefix).

getScopedKey

const

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

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

Returns

Fully qualified scoped key string.

Parameters

ParameterTypeDescription
keyconst std::string &Property key (without scope prefix).
defaultScopeboolIf true, returns the defaultScope key; otherwise currentScope key.

Private Methods

ReturnNameDescription
ScopedConfiguration &operator=

operator=

ScopedConfiguration & operator=(const ScopedConfiguration &)

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