Fawkes API
Fawkes Development Version
|
In-memory configuration store. More...
#include <>>
Public Member Functions | |
MemoryConfiguration () | |
Constructor. More... | |
virtual | ~MemoryConfiguration () |
Destructor. More... | |
virtual void | copy (Configuration *copyconf) |
Copies all values from the given configuration. More... | |
virtual void | load (const char *file_path) |
Load configuration. More... | |
virtual bool | exists (const char *path) |
Check if a given value exists. More... | |
virtual bool | is_float (const char *path) |
Check if a value is of type float. More... | |
virtual bool | is_uint (const char *path) |
Check if a value is of type unsigned int. More... | |
virtual bool | is_int (const char *path) |
Check if a value is of type int. More... | |
virtual bool | is_bool (const char *path) |
Check if a value is of type bool. More... | |
virtual bool | is_string (const char *path) |
Check if a value is of type string. More... | |
virtual bool | is_list (const char *path) |
Check if a value is a list. More... | |
virtual bool | is_default (const char *path) |
Check if a value was read from the default config. More... | |
virtual std::string | get_type (const char *path) |
Get type of value at given path. More... | |
virtual float | get_float (const char *path) |
Get value from configuration which is of type float. More... | |
virtual unsigned int | get_uint (const char *path) |
Get value from configuration which is of type unsigned int. More... | |
virtual int | get_int (const char *path) |
Get value from configuration which is of type int. More... | |
virtual bool | get_bool (const char *path) |
Get value from configuration which is of type bool. More... | |
virtual std::string | get_string (const char *path) |
Get value from configuration which is of type string. More... | |
virtual std::vector< float > | get_floats (const char *path) |
Get list of values from configuration which is of type float. More... | |
virtual std::vector< unsigned int > | get_uints (const char *path) |
Get list of values from configuration which is of type unsigned int. More... | |
virtual std::vector< int > | get_ints (const char *path) |
Get list of values from configuration which is of type int. More... | |
virtual std::vector< bool > | get_bools (const char *path) |
Get list of values from configuration which is of type bool. More... | |
virtual std::vector< std::string > | get_strings (const char *path) |
Get list of values from configuration which is of type string. More... | |
virtual ValueIterator * | get_value (const char *path) |
Get value from configuration. More... | |
virtual std::string | get_comment (const char *path) |
Get comment of value at given path. More... | |
virtual std::string | get_default_comment (const char *path) |
Get comment of value at given path. More... | |
virtual void | set_float (const char *path, float f) |
Set new value in configuration of type float. More... | |
virtual void | set_uint (const char *path, unsigned int uint) |
Set new value in configuration of type unsigned int. More... | |
virtual void | set_int (const char *path, int i) |
Set new value in configuration of type int. More... | |
virtual void | set_bool (const char *path, bool b) |
Set new value in configuration of type bool. More... | |
virtual void | set_string (const char *path, std::string &s) |
Set new value in configuration of type string. More... | |
virtual void | set_string (const char *path, const char *s) |
Set new value in configuration of type string. More... | |
virtual void | set_floats (const char *path, std::vector< float > &f) |
Set new value in configuration of type float. More... | |
virtual void | set_uints (const char *path, std::vector< unsigned int > &uint) |
Set new value in configuration of type unsigned int. More... | |
virtual void | set_ints (const char *path, std::vector< int > &i) |
Set new value in configuration of type int. More... | |
virtual void | set_bools (const char *path, std::vector< bool > &b) |
Set new value in configuration of type bool. More... | |
virtual void | set_strings (const char *path, std::vector< std::string > &s) |
Set new value in configuration of type string. More... | |
virtual void | set_strings (const char *path, std::vector< const char *> &s) |
Set new value in configuration of type string. More... | |
virtual void | set_comment (const char *path, std::string &comment) |
Set new comment for existing value. More... | |
virtual void | set_comment (const char *path, const char *comment) |
Set new comment for existing value. More... | |
virtual void | erase (const char *path) |
Erase the given value from the configuration. More... | |
virtual void | set_default_float (const char *path, float f) |
Set new default value in configuration of type float. More... | |
virtual void | set_default_uint (const char *path, unsigned int uint) |
Set new default value in configuration of type unsigned int. More... | |
virtual void | set_default_int (const char *path, int i) |
Set new default value in configuration of type int. More... | |
virtual void | set_default_bool (const char *path, bool b) |
Set new default value in configuration of type bool. More... | |
virtual void | set_default_string (const char *path, std::string &s) |
Set new default value in configuration of type string. More... | |
virtual void | set_default_string (const char *path, const char *s) |
Set new default value in configuration of type string. More... | |
virtual void | set_default_comment (const char *path, const char *comment) |
Set new default comment for existing default configuration value. More... | |
virtual void | set_default_comment (const char *path, std::string &comment) |
Set new default comment for existing default configuration value. More... | |
virtual void | erase_default (const char *path) |
Erase the given default value from the configuration. More... | |
ValueIterator * | iterator () |
Iterator for all values. More... | |
ValueIterator * | iterator_default () |
Get iterator over default values. More... | |
ValueIterator * | iterator_hostspecific () |
Get iterator over host-specific values. More... | |
ValueIterator * | search (const char *path) |
Iterator with search results. More... | |
void | lock () |
Lock the config. More... | |
bool | try_lock () |
Try to lock the config. More... | |
void | unlock () |
Unlock the config. More... | |
virtual void | try_dump () |
Try to dump configuration. More... | |
![]() | |
virtual | ~Configuration () |
Virtual empty destructor. More... | |
virtual void | add_change_handler (ConfigurationChangeHandler *h) |
Add a configuration change handler. More... | |
virtual void | rem_change_handler (ConfigurationChangeHandler *h) |
Remove a configuration change handler. More... | |
Additional Inherited Members | |
![]() | |
typedef std::list< ConfigurationChangeHandler * > | ChangeHandlerList |
List that contains pointers to ConfigurationChangeHandler. More... | |
typedef std::multimap< const char *, ConfigurationChangeHandler *, StringLess > | ChangeHandlerMultimap |
Multimap string to config change handlers. More... | |
typedef std::pair< ChangeHandlerMultimap::iterator, ChangeHandlerMultimap::iterator > | ChangeHandlerMultimapRange |
Config change handler multimap range. More... | |
![]() | |
ChangeHandlerList * | find_handlers (const char *path) |
Find handlers for given path. More... | |
void | notify_handlers (const char *path, bool comment_changed=false) |
Notify handlers for given path. More... | |
![]() | |
ChangeHandlerMultimap | _change_handlers |
Registered change handlers. More... | |
ChangeHandlerMultimapRange | _ch_range |
Change handler range. More... | |
fawkes::MemoryConfiguration::MemoryConfiguration | ( | ) |
Constructor.
Definition at line 45 of file memory.cpp.
|
virtual |
Destructor.
Definition at line 52 of file memory.cpp.
|
virtual |
Copies all values from the given configuration.
All values from the given configuration are copied. Old values are not erased so that the copied values will overwrite existing values, new values are created, but values existent in current config but not in the copied config will remain unchanged.
copyconf | configuration to copy |
Implements fawkes::Configuration.
Definition at line 68 of file memory.cpp.
|
virtual |
Erase the given value from the configuration.
It is not an error if the value does not exists before deletion.
path | path to value |
Implements fawkes::Configuration.
Definition at line 398 of file memory.cpp.
|
virtual |
Erase the given default value from the configuration.
It is not an error if the value does not exists before deletion.
path | path to value |
Implements fawkes::Configuration.
Definition at line 457 of file memory.cpp.
|
virtual |
Check if a given value exists.
path | path to value |
Implements fawkes::Configuration.
Definition at line 74 of file memory.cpp.
|
virtual |
Get value from configuration which is of type bool.
path | path to value |
Implements fawkes::Configuration.
Definition at line 159 of file memory.cpp.
|
virtual |
Get list of values from configuration which is of type bool.
path | path to value |
Implements fawkes::Configuration.
Definition at line 192 of file memory.cpp.
|
virtual |
Get comment of value at given path.
The value at the given path must exist in the host-specific configuration.
path | path to value |
ConfigEntryNotFoundException | shall be thrown if value does not exist |
ConfigurationException | shall be thrown on any other error |
Implements fawkes::Configuration.
Definition at line 97 of file memory.cpp.
|
virtual |
Get comment of value at given path.
The value at the given path must exist in the default configuration.
path | path to value |
ConfigEntryNotFoundException | shall be thrown if value does not exist |
ConfigurationException | shall be thrown on any other error |
Implements fawkes::Configuration.
Definition at line 264 of file memory.cpp.
|
virtual |
Get value from configuration which is of type float.
path | path to value |
Implements fawkes::Configuration.
Definition at line 141 of file memory.cpp.
|
virtual |
Get list of values from configuration which is of type float.
path | path to value |
Implements fawkes::Configuration.
Definition at line 172 of file memory.cpp.
|
virtual |
Get value from configuration which is of type int.
path | path to value |
Implements fawkes::Configuration.
Definition at line 153 of file memory.cpp.
|
virtual |
Get list of values from configuration which is of type int.
path | path to value |
Implements fawkes::Configuration.
Definition at line 186 of file memory.cpp.
|
virtual |
Get value from configuration which is of type string.
path | path to value |
Implements fawkes::Configuration.
Definition at line 165 of file memory.cpp.
|
virtual |
Get list of values from configuration which is of type string.
path | path to value |
Implements fawkes::Configuration.
Definition at line 198 of file memory.cpp.
|
virtual |
Get type of value at given path.
path | path to value |
ConfigurationException | shall be thrown if value does not exist or on any other error. |
Implements fawkes::Configuration.
Definition at line 86 of file memory.cpp.
|
virtual |
Get value from configuration which is of type unsigned int.
path | path to value |
Implements fawkes::Configuration.
Definition at line 147 of file memory.cpp.
|
virtual |
Get list of values from configuration which is of type unsigned int.
path | path to value |
Implements fawkes::Configuration.
Definition at line 179 of file memory.cpp.
|
virtual |
Get value from configuration.
path | path to value |
Implements fawkes::Configuration.
Definition at line 287 of file memory.cpp.
|
virtual |
Check if a value is of type bool.
path | path to value |
Implements fawkes::Configuration.
Definition at line 240 of file memory.cpp.
|
virtual |
Check if a value was read from the default config.
path | path to value |
Implements fawkes::Configuration.
Definition at line 270 of file memory.cpp.
|
virtual |
Check if a value is of type float.
path | path to value |
Implements fawkes::Configuration.
Definition at line 222 of file memory.cpp.
|
virtual |
Check if a value is of type int.
path | path to value |
Implements fawkes::Configuration.
Definition at line 234 of file memory.cpp.
|
virtual |
Check if a value is a list.
path | path to value |
Implements fawkes::Configuration.
Definition at line 253 of file memory.cpp.
|
virtual |
Check if a value is of type string.
path | path to value |
Implements fawkes::Configuration.
Definition at line 246 of file memory.cpp.
|
virtual |
Check if a value is of type unsigned int.
path | path to value |
Implements fawkes::Configuration.
Definition at line 228 of file memory.cpp.
|
virtual |
Iterator for all values.
Returns an iterator that can be used to iterate over all values in the current configuration, it will value the overlay. If a default and a host-specific value exists you will only see the host-specific value.
Implements fawkes::Configuration.
Definition at line 500 of file memory.cpp.
Configuration::ValueIterator * fawkes::MemoryConfiguration::iterator_default | ( | ) |
Get iterator over default values.
Definition at line 512 of file memory.cpp.
Configuration::ValueIterator * fawkes::MemoryConfiguration::iterator_hostspecific | ( | ) |
Get iterator over host-specific values.
Definition at line 534 of file memory.cpp.
|
virtual |
Load configuration.
Loads configuration data, or opens a file, depending on the implementation. After this call access to all other methods shall be possible.
file_path | path of the configuration file. |
Implements fawkes::Configuration.
Definition at line 62 of file memory.cpp.
|
virtual |
Lock the config.
No further changes or queries can be executed on the configuration and will block until the config is unlocked.
Implements fawkes::Configuration.
Definition at line 467 of file memory.cpp.
References fawkes::Mutex::lock().
|
virtual |
Iterator with search results.
Returns an iterator that can be used to iterate over the search results. All values whose path start with the given strings are returned. A call like
is effectively the same as a call to iterator().
path | start of path |
Implements fawkes::Configuration.
Definition at line 555 of file memory.cpp.
References fawkes::str_split_to_queue().
|
virtual |
Set new value in configuration of type bool.
path | path to value |
b | new bool value |
Implements fawkes::Configuration.
Definition at line 325 of file memory.cpp.
|
virtual |
Set new value in configuration of type bool.
path | path to value |
b | new bool values |
Implements fawkes::Configuration.
Definition at line 367 of file memory.cpp.
|
virtual |
Set new comment for existing value.
path | path to value |
comment | new comment string |
Implements fawkes::Configuration.
Definition at line 393 of file memory.cpp.
|
virtual |
Set new comment for existing value.
Works like the aforementioned method. Just takes an good ol' char array instead of a std::string.
path | path to value |
comment | new comment string |
Implements fawkes::Configuration.
Definition at line 388 of file memory.cpp.
|
virtual |
Set new default value in configuration of type bool.
path | path to value |
b | new bool value |
Implements fawkes::Configuration.
Definition at line 425 of file memory.cpp.
|
virtual |
Set new default comment for existing default configuration value.
Works like the aforementioned method. Just takes an good ol' char array instead of a std::string.
path | path to value |
comment | new comment string |
Implements fawkes::Configuration.
Definition at line 446 of file memory.cpp.
|
virtual |
Set new default comment for existing default configuration value.
path | path to value |
comment | new comment string |
Implements fawkes::Configuration.
Definition at line 451 of file memory.cpp.
|
virtual |
Set new default value in configuration of type float.
path | path to value |
f | new float value |
Implements fawkes::Configuration.
Definition at line 404 of file memory.cpp.
|
virtual |
Set new default value in configuration of type int.
path | path to value |
i | new int value |
Implements fawkes::Configuration.
Definition at line 418 of file memory.cpp.
|
virtual |
Set new default value in configuration of type string.
path | path to value |
s | new string value |
Implements fawkes::Configuration.
Definition at line 440 of file memory.cpp.
|
virtual |
Set new default value in configuration of type string.
Works like the aforementioned method. Just takes an good ol' char array instead of a std::string.
path | path to value |
s | new string value |
Implements fawkes::Configuration.
Definition at line 432 of file memory.cpp.
|
virtual |
Set new default value in configuration of type unsigned int.
path | path to value |
uint | new unsigned int value |
Implements fawkes::Configuration.
Definition at line 411 of file memory.cpp.
|
virtual |
Set new value in configuration of type float.
path | path to value |
f | new float value |
Implements fawkes::Configuration.
Definition at line 304 of file memory.cpp.
|
virtual |
Set new value in configuration of type float.
path | path to value |
f | new float values |
Implements fawkes::Configuration.
Definition at line 346 of file memory.cpp.
|
virtual |
Set new value in configuration of type int.
path | path to value |
i | new int value |
Implements fawkes::Configuration.
Definition at line 318 of file memory.cpp.
|
virtual |
Set new value in configuration of type int.
path | path to value |
i | new int values |
Implements fawkes::Configuration.
Definition at line 360 of file memory.cpp.
|
virtual |
Set new value in configuration of type string.
path | path to value |
s | new string value |
Implements fawkes::Configuration.
Definition at line 340 of file memory.cpp.
|
virtual |
Set new value in configuration of type string.
Works like the aforementioned method. Just takes an good ol' char array instead of a std::string.
path | path to value |
s | new string value |
Implements fawkes::Configuration.
Definition at line 332 of file memory.cpp.
|
virtual |
Set new value in configuration of type string.
path | path to value |
s | new string values |
Implements fawkes::Configuration.
Definition at line 374 of file memory.cpp.
|
virtual |
Set new value in configuration of type string.
Works like the aforementioned method. Just takes an good ol' char array instead of a std::string.
path | path to value |
s | new string values |
Implements fawkes::Configuration.
Definition at line 381 of file memory.cpp.
|
virtual |
Set new value in configuration of type unsigned int.
path | path to value |
uint | new unsigned int value |
Implements fawkes::Configuration.
Definition at line 311 of file memory.cpp.
|
virtual |
Set new value in configuration of type unsigned int.
path | path to value |
uint | new unsigned int values |
Implements fawkes::Configuration.
Definition at line 353 of file memory.cpp.
|
virtual |
Try to dump configuration.
For configuration methods that transform configuration files in a binary format this can be used to write out the text representation on shutdown of Fawkes.
Exception | thrown if dumping fails |
Implements fawkes::Configuration.
Definition at line 494 of file memory.cpp.
|
virtual |
Try to lock the config.
Implements fawkes::Configuration.
Definition at line 478 of file memory.cpp.
References fawkes::Mutex::try_lock().
|
virtual |
Unlock the config.
Modifications and queries are possible again.
Implements fawkes::Configuration.
Definition at line 487 of file memory.cpp.
References fawkes::Mutex::unlock().