30 #ifndef _UCOMMON_KEYDATA_H_
31 #define _UCOMMON_KEYDATA_H_
33 #ifndef _UCOMMON_CONFIG_H_
37 #ifndef _UCOMMON_LINKED_H_
41 #ifndef _UCOMMON_MEMORY_H_
91 const char *
get(
const char *id)
const;
108 void set(
const char *
id,
const char *value);
115 void clear(
const char *
id);
121 inline const char *
get(void)
const
159 keydata *create(
const char *section);
162 void load(HKEY root,
keydata *section = NULL,
const char *path = NULL);
163 bool save(HKEY root,
keydata *section = NULL,
const char *path = NULL);
178 keyfile(
const char *path,
size_t pagesize = 0);
188 void load(
const char *path);
195 bool save(
const char *path);
201 void load(
const keyfile *source);
207 void load(
const keydata *source);
219 keydata *
get(
const char *section)
const;
221 inline keydata *operator()(
const char *section)
const
222 {
return get(section);}
224 inline keydata *operator[](
const char *section)
const
225 {
return get(section);}
253 inline int err(
void)
const
LinkedObject * end(void) const
Return last object in list for iterators.
const char * operator()(const char *id) const
Lookup a key value by it's id.
LinkedObject * begin(void) const
Return first object in list for iterators.
void release(SharedAccess &object)
Convenience function to unlock shared object through it's protocol.
Common namespace for all ucommon objects.
Traditional keypair config file parsing class.
Linked objects, lists, templates, and containers.
An index container for maintaining an ordered list of objects.
Access standard files through character protocol.
A memory protocol pager for private heap manager.
keydata * end(void) const
Get last keydata object, for iterative examinations.
A smart pointer template for iterating linked lists.
linked_pointer< keydata > iterator
Convenience typedef for iterative pointer.
keyvalue * end(void) const
Get last value object, for iterative examinations.
keydata * begin(void) const
Get first keydata object, for iterative examinations.
A key value set is used for iterative access.
keyvalue * begin(void) const
Get first value object, for iterative examinations.
ObjectProtocol * copy(ObjectProtocol *object)
Convenience function to access object copy.
Private heaps, pools, and associations.
linked_pointer< keyvalue > iterator
Convenience typedef for iterative pointer.
Various miscellaneous platform specific headers and defines.
A linked object base class for ordered objects.
Data keys parsed from a keyfile.