7 #include "unifiltergen.h" 18 UniFilterGen::~UniFilterGen()
29 xinner->del_callback(
this);
40 mapped_key = unmapped_key;
47 unmapped_key = mapped_key;
62 return xinner->refresh();
71 if (xinner && keymap(key, mapped_key))
72 xinner->prefetch(mapped_key, recursive);
79 if (xinner && keymap(key, mapped_key))
80 return xinner->get(mapped_key);
82 return WvString::null;
89 xinner->flush_buffers();
96 if (xinner && keymap(key, mapped_key))
97 xinner->set(mapped_key, value);
111 if (xinner && keymap(key, mapped_key))
112 return xinner->exists(mapped_key);
121 if (xinner && keymap(key, mapped_key))
122 return xinner->haschildren(mapped_key);
131 return xinner->isok();
140 if (xinner && keymap(key, mapped_key))
141 return xinner->iterator(mapped_key);
150 if (xinner && keymap(key, mapped_key))
151 return xinner->recursiveiterator(mapped_key);
160 if (xinner && reversekeymap(key, unmapped_key))
161 delta(unmapped_key, value);
A WvFastString acts exactly like a WvString, but can take (const char *) strings without needing to a...
Represents a UniConf key which is a path in a hierarchy structured much like the traditional Unix fil...
void delta(const UniConfKey &key, WvStringParm value)
Call this when a key's value or children have possibly changed.
virtual bool isok()
Determines if the generator is usable and working properly.
virtual void commit()
Commits any changes.
An abstract data container that backs a UniConf tree.
An abstract iterator over keys and values in a generator.
virtual void setv(const UniConfPairList &pairs)
Stores multiple key-value pairs into the registry.
virtual Iter * recursiveiterator(const UniConfKey &key)
Like iterator(), but the returned iterator is recursive, that is, it will return children of the imme...
virtual bool refresh()
Refreshes information about a key recursively.
virtual bool haschildren(const UniConfKey &key)
Returns true if a key has children.
virtual void flush_buffers()
Flushes any commitment/notification buffers .
virtual void prefetch(const UniConfKey &key, bool recursive)
Indicate that we will eventually be interested in doing get(), haschildren(), or other "get-like" ope...
virtual bool keymap(const UniConfKey &unmapped_key, UniConfKey &mapped_key)
A mapping function for filters that remap one keyspace onto another.
void setinner(IUniConfGen *inner)
Rebinds the inner generator and prepares its callback.
virtual void set(const UniConfKey &key, WvStringParm value)
Stores a string value for a key into the registry.
virtual void add_callback(void *cookie, const UniConfGenCallback &callback)=0
Adds a callback for change notification.
virtual WvString get(const UniConfKey &key)
Fetches a string value for a key from the registry.
virtual Iter * iterator(const UniConfKey &key)
Returns an iterator over the children of the specified key.
WvString is an implementation of a simple and efficient printable-string class.
virtual bool reversekeymap(const UniConfKey &mapped_key, UniConfKey &unmapped_key)
A mapping function for filters that unmap a keyspace.
virtual bool exists(const UniConfKey &key)
Without fetching its value, returns true if a key exists.
virtual void gencallback(const UniConfKey &key, WvStringParm value)
Called by inner generator when a key changes.