ScopedConfiguration
ScopedConfiguration
#include <icy/configuration.h>class ScopedConfigurationDefined 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
| Name | Kind | Owner |
|---|---|---|
config | variable | Declared here |
currentScope | variable | Declared here |
defaultScope | variable | Declared here |
ScopedConfiguration | function | Declared here |
ScopedConfiguration | function | Declared here |
getString | function | Declared here |
getInt | function | Declared here |
getDouble | function | Declared here |
getBool | function | Declared here |
setString | function | Declared here |
setInt | function | Declared here |
setDouble | function | Declared here |
setBool | function | Declared here |
getCurrentScope | function | Declared here |
getDafaultKey | function | Declared here |
getScopedKey | function | Declared here |
operator= | function | Declared here |
Public Attributes
| Return | Name | Description |
|---|---|---|
Configuration & | config | |
std::string | currentScope | |
std::string | defaultScope |
config
Configuration & configDefined in src/base/include/icy/configuration.h:278
currentScope
std::string currentScopeDefined in src/base/include/icy/configuration.h:279
defaultScope
std::string defaultScopeDefined in src/base/include/icy/configuration.h:280
Public Methods
| Return | Name | Description |
|---|---|---|
ScopedConfiguration | ||
ScopedConfiguration | ||
std::string | getString const | Returns the string value, trying currentScope first then defaultScope. |
int | getInt const | Returns the int value, trying currentScope first then defaultScope. |
double | getDouble const | Returns the double value, trying currentScope first then defaultScope. |
bool | getBool const | Returns the bool value, trying currentScope first then defaultScope. |
void | setString | Writes a string value under the scoped key. |
void | setInt | Writes an int value under the scoped key. |
void | setDouble | Writes a double value under the scoped key. |
void | setBool | Writes a bool value under the scoped key. |
std::string | getCurrentScope const | |
std::string | getDafaultKey const | |
std::string | getScopedKey const |
ScopedConfiguration
ScopedConfiguration(Configuration & config, const std::string & currentScope, const std::string & defaultScope)Defined in src/base/include/icy/configuration.h:201
Parameters
configBacking configuration store.currentScopeKey prefix for the module-level scope.defaultScopeKey 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) constDefined in src/base/include/icy/configuration.h:210
Returns the string value, trying currentScope first then defaultScope.
Parameters
keyProperty key (without scope prefix).defaultValueFallback when neither scope has the key.forceDefaultScopeIf true, skipscurrentScopeand reads fromdefaultScopeonly.
Returns
Property value or defaultValue.
getInt
const
int getInt(const std::string & key, int defaultValue, bool forceDefaultScope = false) constDefined in src/base/include/icy/configuration.h:219
Returns the int value, trying currentScope first then defaultScope.
Parameters
keyProperty key (without scope prefix).defaultValueFallback when neither scope has the key.forceDefaultScopeIf true, reads fromdefaultScopeonly.
Returns
Property value or defaultValue.
getDouble
const
double getDouble(const std::string & key, double defaultValue, bool forceDefaultScope = false) constDefined in src/base/include/icy/configuration.h:227
Returns the double value, trying currentScope first then defaultScope.
Parameters
keyProperty key (without scope prefix).defaultValueFallback when neither scope has the key.forceDefaultScopeIf true, reads fromdefaultScopeonly.
Returns
Property value or defaultValue.
getBool
const
bool getBool(const std::string & key, bool defaultValue, bool forceDefaultScope = false) constDefined in src/base/include/icy/configuration.h:235
Returns the bool value, trying currentScope first then defaultScope.
Parameters
keyProperty key (without scope prefix).defaultValueFallback when neither scope has the key.forceDefaultScopeIf true, reads fromdefaultScopeonly.
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
keyProperty key (without scope prefix).valueValue to store.defaultScopeIf true, writes todefaultScope; otherwise tocurrentScope.
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
keyProperty key (without scope prefix).valueValue to store.defaultScopeIf true, writes todefaultScope; otherwise tocurrentScope.
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
keyProperty key (without scope prefix).valueValue to store.defaultScopeIf true, writes todefaultScope; otherwise tocurrentScope.
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
keyProperty key (without scope prefix).valueValue to store.defaultScopeIf true, writes todefaultScope; otherwise tocurrentScope.
getCurrentScope
const
std::string getCurrentScope(const std::string & key) constDefined in src/base/include/icy/configuration.h:266
Parameters
keyProperty key (without scope prefix).
Returns
Fully qualified key in currentScope.
getDafaultKey
const
std::string getDafaultKey(const std::string & key) constDefined in src/base/include/icy/configuration.h:270
Parameters
keyProperty key (without scope prefix).
Returns
Fully qualified key in defaultScope.
getScopedKey
const
std::string getScopedKey(const std::string & key, bool defaultScope = false) constDefined in src/base/include/icy/configuration.h:275
Parameters
keyProperty key (without scope prefix).defaultScopeIf true, returns thedefaultScopekey; otherwisecurrentScopekey.
Returns
Fully qualified scoped key string.
