Fawkes API
Fawkes Development Version
|
#include <>>
Public Member Functions | |
MemoryConfiguration () | |
Constructor. More... | |
virtual | ~MemoryConfiguration () |
Destructor. More... | |
virtual void | copy (Configuration *copyconf) |
virtual void | load (const char *file_path) |
virtual bool | exists (const char *path) |
virtual bool | is_float (const char *path) |
virtual bool | is_uint (const char *path) |
virtual bool | is_int (const char *path) |
virtual bool | is_bool (const char *path) |
virtual bool | is_string (const char *path) |
virtual bool | is_list (const char *path) |
virtual bool | is_default (const char *path) |
virtual std::string | get_type (const char *path) |
virtual float | get_float (const char *path) |
virtual unsigned int | get_uint (const char *path) |
virtual int | get_int (const char *path) |
virtual bool | get_bool (const char *path) |
virtual std::string | get_string (const char *path) |
virtual std::vector< float > | get_floats (const char *path) |
virtual std::vector< unsigned int > | get_uints (const char *path) |
virtual std::vector< int > | get_ints (const char *path) |
virtual std::vector< bool > | get_bools (const char *path) |
virtual std::vector< std::string > | get_strings (const char *path) |
virtual ValueIterator * | get_value (const char *path) |
virtual std::string | get_comment (const char *path) |
virtual std::string | get_default_comment (const char *path) |
virtual void | set_float (const char *path, float f) |
virtual void | set_uint (const char *path, unsigned int uint) |
virtual void | set_int (const char *path, int i) |
virtual void | set_bool (const char *path, bool b) |
virtual void | set_string (const char *path, std::string &s) |
virtual void | set_string (const char *path, const char *s) |
virtual void | set_floats (const char *path, std::vector< float > &f) |
virtual void | set_uints (const char *path, std::vector< unsigned int > &uint) |
virtual void | set_ints (const char *path, std::vector< int > &i) |
virtual void | set_bools (const char *path, std::vector< bool > &b) |
virtual void | set_strings (const char *path, std::vector< std::string > &s) |
virtual void | set_strings (const char *path, std::vector< const char * > &s) |
virtual void | set_comment (const char *path, std::string &comment) |
virtual void | set_comment (const char *path, const char *comment) |
virtual void | erase (const char *path) |
virtual void | set_default_float (const char *path, float f) |
virtual void | set_default_uint (const char *path, unsigned int uint) |
virtual void | set_default_int (const char *path, int i) |
virtual void | set_default_bool (const char *path, bool b) |
virtual void | set_default_string (const char *path, std::string &s) |
virtual void | set_default_string (const char *path, const char *s) |
virtual void | set_default_comment (const char *path, const char *comment) |
virtual void | set_default_comment (const char *path, std::string &comment) |
virtual void | erase_default (const char *path) |
ValueIterator * | iterator () |
ValueIterator * | iterator_default () |
Get iterator over default values. More... | |
ValueIterator * | iterator_hostspecific () |
Get iterator over host-specific values. More... | |
ValueIterator * | search (const char *path) |
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 () |
![]() | |
virtual | ~Configuration () |
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... | |
virtual float | get_float_or_default (const char *path, const float &default_val) |
virtual unsigned int | get_uint_or_default (const char *path, const unsigned int &default_val) |
virtual int | get_int_or_default (const char *path, const int &default_val) |
virtual bool | get_bool_or_default (const char *path, const bool &default_val) |
virtual std::string | get_string_or_default (const char *path, const std::string &default_val) |
virtual std::vector< float > | get_floats_or_defaults (const char *path, const std::vector< float > &default_val) |
virtual std::vector< unsigned int > | get_uints_or_defaults (const char *path, const std::vector< unsigned int > &default_val) |
virtual std::vector< int > | get_ints_or_defaults (const char *path, const std::vector< int > &default_val) |
virtual std::vector< bool > | get_bools_or_defaults (const char *path, const std::vector< bool > &default_val) |
virtual std::vector< std::string > | get_strings_or_defaults (const char *path, const std::vector< std::string > &default_val) |
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 46 of file memory.cpp.
|
virtual |
Destructor.
Definition at line 53 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 64 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 381 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 438 of file memory.cpp.
References fawkes::Mutex::lock().
|
virtual |
Check if a given value exists.
path | path to value |
Implements fawkes::Configuration.
Definition at line 70 of file memory.cpp.
|
virtual |
Get value from configuration which is of type bool
path | path to value |
Implements fawkes::Configuration.
Definition at line 152 of file memory.cpp.
Referenced by fawkes::NetworkConfiguration::get_bool().
|
virtual |
Get list of values from configuration which is of type bool
path | path to value |
Implements fawkes::Configuration.
Definition at line 182 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 92 of file memory.cpp.
Referenced by fawkes::NetworkConfiguration::get_comment().
|
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 250 of file memory.cpp.
Referenced by fawkes::NetworkConfiguration::get_default_comment().
|
virtual |
Get value from configuration which is of type float
path | path to value |
Implements fawkes::Configuration.
Definition at line 134 of file memory.cpp.
Referenced by fawkes::NetworkConfiguration::get_float().
|
virtual |
Get list of values from configuration which is of type float
path | path to value |
Implements fawkes::Configuration.
Definition at line 164 of file memory.cpp.
|
virtual |
Get value from configuration which is of type int
path | path to value |
Implements fawkes::Configuration.
Definition at line 146 of file memory.cpp.
Referenced by fawkes::NetworkConfiguration::get_int().
|
virtual |
Get list of values from configuration which is of type int
path | path to value |
Implements fawkes::Configuration.
Definition at line 176 of file memory.cpp.
|
virtual |
Get value from configuration which is of type string
path | path to value |
Implements fawkes::Configuration.
Definition at line 158 of file memory.cpp.
Referenced by fawkes::NetworkConfiguration::get_string().
|
virtual |
Get list of values from configuration which is of type string
path | path to value |
Implements fawkes::Configuration.
Definition at line 188 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 81 of file memory.cpp.
Referenced by fawkes::NetworkConfiguration::get_type().
|
virtual |
Get value from configuration which is of type unsigned int
path | path to value |
Implements fawkes::Configuration.
Definition at line 140 of file memory.cpp.
Referenced by fawkes::NetworkConfiguration::get_uint().
|
virtual |
Get list of values from configuration which is of type unsigned int
path | path to value |
Implements fawkes::Configuration.
Definition at line 170 of file memory.cpp.
|
virtual |
Get value from configuration.
path | path to value |
Implements fawkes::Configuration.
Definition at line 272 of file memory.cpp.
Referenced by fawkes::NetworkConfiguration::get_value().
|
virtual |
Check if a value is of type bool
path | path to value |
Implements fawkes::Configuration.
Definition at line 228 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 256 of file memory.cpp.
|
virtual |
Check if a value is of type float
path | path to value |
Implements fawkes::Configuration.
Definition at line 210 of file memory.cpp.
|
virtual |
Check if a value is of type int
path | path to value |
Implements fawkes::Configuration.
Definition at line 222 of file memory.cpp.
|
virtual |
Check if a value is a list.
path | path to value |
Implements fawkes::Configuration.
Definition at line 240 of file memory.cpp.
|
virtual |
Check if a value is of type string
path | path to value |
Implements fawkes::Configuration.
Definition at line 234 of file memory.cpp.
|
virtual |
Check if a value is of type unsigned int
path | path to value |
Implements fawkes::Configuration.
Definition at line 216 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 478 of file memory.cpp.
Referenced by fawkes::NetworkConfiguration::iterator().
Configuration::ValueIterator * fawkes::MemoryConfiguration::iterator_default | ( | ) |
Get iterator over default values.
Definition at line 489 of file memory.cpp.
Referenced by fawkes::NetworkConfiguration::iterator_default().
Configuration::ValueIterator * fawkes::MemoryConfiguration::iterator_hostspecific | ( | ) |
Get iterator over host-specific values.
Definition at line 511 of file memory.cpp.
Referenced by fawkes::NetworkConfiguration::iterator_hostspecific().
|
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 59 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 448 of file memory.cpp.
References fawkes::Mutex::try_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 530 of file memory.cpp.
Referenced by fawkes::NetworkConfiguration::search().
|
virtual |
Set new value in configuration of type bool
path | path to value |
b | new bool value |
Implements fawkes::Configuration.
Definition at line 309 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 350 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 371 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 376 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 408 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 428 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 433 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 387 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 401 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 415 of file memory.cpp.
References set_default_string().
|
virtual |
Set new default value in configuration of type string
path | path to value |
s | new string value |
Implements fawkes::Configuration.
Definition at line 422 of file memory.cpp.
Referenced by set_default_string().
|
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 394 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 288 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 329 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 302 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 343 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 316 of file memory.cpp.
References set_string().
|
virtual |
Set new value in configuration of type string
path | path to value |
s | new string value |
Implements fawkes::Configuration.
Definition at line 323 of file memory.cpp.
Referenced by set_string().
|
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 364 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 357 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 295 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 336 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 473 of file memory.cpp.
|
virtual |
Try to lock the config.
Implements fawkes::Configuration.
Definition at line 458 of file memory.cpp.
References fawkes::Mutex::unlock().
|
virtual |
Unlock the config.
Modifications and queries are possible again.
Implements fawkes::Configuration.
Definition at line 467 of file memory.cpp.