28 #ifndef COMMON_CONFIG_LOOKUP_H 29 #define COMMON_CONFIG_LOOKUP_H 36 typedef lumiera_config_lookup* LumieraConfigLookup;
39 typedef lumiera_config_lookupentry* LumieraConfigLookupentry;
81 LumieraConfigLookupentry
93 LumieraConfigLookupentry
116 LumieraConfigLookupentry
161 LumieraConfigLookupentry
162 lumiera_config_lookupentry_init (LumieraConfigLookupentry
self,
const char* key);
164 LumieraConfigLookupentry
165 lumiera_config_lookupentry_new (
const char* key);
168 LumieraConfigLookupentry
169 lumiera_config_lookupentry_destroy (LumieraConfigLookupentry
self);
173 lumiera_config_lookupentry_delete (LumieraConfigLookupentry
self);
LumieraConfigLookup lumiera_config_lookup_init(LumieraConfigLookup self)
Initialise a lookup structure.
Draft for a configuration system (2008).
llist configitems
stack of all configitems stored under this key
LumieraConfigLookupentry lumiera_config_lookup_insert(LumieraConfigLookup self, LumieraConfigitem item)
Add a config item to a lookup structure.
#define LUMIERA_ERROR_DECLARE(err)
Forward declare an error constant.
Lumiera error handling (C interface).
Just contains a hashtable to give sufficient abstraction.
LumieraConfigLookupentry lumiera_config_lookup_find(LumieraConfigLookup self, const char *key)
Find a hashtable entry in the lookup structure.
LumieraConfigitem lumiera_config_lookup_item_find(LumieraConfigLookup self, const char *key)
Find a the topmost config item stored to a given key.
Probabilistic splay tree.
LumieraConfigLookup lumiera_config_lookup_destroy(LumieraConfigLookup self)
Destroy a lookup structure.
LumieraConfigLookupentry lumiera_config_lookup_insert_default(LumieraConfigLookup self, LumieraConfigitem item)
LumieraConfigitem lumiera_config_lookup_item_tail_find(LumieraConfigLookup self, const char *key)
Find a the bottom most config item stored to a given key.
Intrusive cyclic double linked list There is only one node type which contains a forward and a backwa...
char * full_key
we store a copy of the full key here configentry keys are complete as expected section keys are the p...
LumieraConfigitem lumiera_config_lookup_remove(LumieraConfigLookup self, LumieraConfigitem item)
Remove a config item from a lookup structure.