Go to the documentation of this file.
31 #ifndef _UCOMMON_KEYDATA_H_
32 #define _UCOMMON_KEYDATA_H_
34 #ifndef _UCOMMON_CONFIG_H_
38 #ifndef _UCOMMON_LINKED_H_
42 #ifndef _UCOMMON_MEMORY_H_
97 const char *
get(
const char *
id)
const;
115 void set(
const char *
id,
const char *value);
128 inline const char *
get(
void)
const {
169 keydata *create(
const char *section);
172 void load(HKEY root,
keydata *section = NULL,
const char *path = NULL);
173 bool save(HKEY root,
keydata *section = NULL,
const char *path = NULL);
188 keyfile(
const char *path,
size_t pagesize = 0);
231 inline keydata *operator()(
const char *section)
const {
235 inline keydata *operator[](
const char *section)
const {
268 inline int err(
void)
const {
Private heaps, pools, and associations.
linked_pointer< keyvalue > pointer
Convenience typedef for iterative pointer.
const char * get(const char *id) const
Lookup a key value by it's id.
bool save(const char *path)
Save (write) a set of config keys to dist.
A key value set is used for iterative access.
A memory protocol pager for private heap manager.
Common namespace for all ucommon objects.
Various miscellaneous platform specific headers and defines.
void clear(const char *id)
Remove a keyword id from the keydata structure.
const char * operator()(const char *id) const
Lookup a key value by it's id.
keyfile(size_t pagesize=0)
Create an empty key file ready for loading.
Data keys parsed from a keyfile.
keydata * begin(void) const
Get first keydata object, for iterative examinations.
void load(const char *path)
Load (overlay) another config file over the currently loaded one.
keydata * get(void) const
Get the non-sectioned defaults if there are any.
keyvalue * begin(void) const
Get first value object, for iterative examinations.
void load(const keyfile *source)
Load from an existing keyfile object.
const char * get(void) const
Get the name of this section.
void set(const char *id, const char *value)
Set a keyword and value in the keydata structure.
linked_pointer< keydata > pointer
Convenience typedef for iterative pointer.
LinkedObject * begin(void) const
Return first object in list for iterators.
keyvalue * end(void) const
Get last value object, for iterative examinations.
A smart pointer template for iterating linked lists.
void assign(keyfile &source)
Assign foreign pager to us.
LinkedObject * end(void) const
Return last object in list for iterators.
A linked object base class for ordered objects.
keydata * get(const char *section) const
Get a keydata section name.
keyfile(const char *path, size_t pagesize=0)
Create a key file object from an existing config file.
void release(void)
Release and re-initialize keyfile.
keydata * end(void) const
Get last keydata object, for iterative examinations.
An index container for maintaining an ordered list of objects.
Traditional keypair config file parsing class.
T copy(const T &src)
Convenience function to copy objects.
Linked objects, lists, templates, and containers.
void load(const keydata *source)
Load a single set of keys.