WvStreams
unifiltergen.h
1 /* -*- Mode: C++ -*-
2  * Worldvisions Weaver Software:
3  * Copyright (C) 2002 Net Integration Technologies, Inc.
4  *
5  * A UniConfGen framework to simplify writing filtering generators.
6  */
7 #ifndef __UNIFILTERGEN_H
8 #define __UNIFILTERGEN_H
9 
10 #include "uniconfgen.h"
11 
17 class UniFilterGen : public UniConfGen
18 {
19  IUniConfGen *xinner;
20 
21 protected:
23  virtual ~UniFilterGen();
24 
29  void setinner(IUniConfGen *inner);
30 
31 public:
33  IUniConfGen *inner() const
34  { return xinner; }
35 
47  virtual bool keymap(const UniConfKey &unmapped_key, UniConfKey &mapped_key);
48 
56  virtual bool reversekeymap(const UniConfKey &mapped_key, UniConfKey &unmapped_key);
57 
58 
59  /***** Overridden methods *****/
60 
61  virtual void commit();
62  virtual bool refresh();
63  virtual void flush_buffers();
64  virtual void prefetch(const UniConfKey &key, bool recursive);
65  virtual WvString get(const UniConfKey &key);
66  virtual void set(const UniConfKey &key, WvStringParm value);
67  virtual void setv(const UniConfPairList &pairs);
68  virtual bool exists(const UniConfKey &key);
69  virtual bool haschildren(const UniConfKey &key);
70  virtual bool isok();
71  virtual Iter *iterator(const UniConfKey &key);
72  virtual Iter *recursiveiterator(const UniConfKey &key);
73 
74 protected:
79  virtual void gencallback(const UniConfKey &key, WvStringParm value);
80 };
81 
82 #endif //__UNIFILTERGEN_H
UniFilterGen::setinner
void setinner(IUniConfGen *inner)
Rebinds the inner generator and prepares its callback.
Definition: unifiltergen.cc:26
UniFilterGen::keymap
virtual bool keymap(const UniConfKey &unmapped_key, UniConfKey &mapped_key)
A mapping function for filters that remap one keyspace onto another.
Definition: unifiltergen.cc:37
UniFilterGen::set
virtual void set(const UniConfKey &key, WvStringParm value)
Stores a string value for a key into the registry.
Definition: unifiltergen.cc:93
UniFilterGen::gencallback
virtual void gencallback(const UniConfKey &key, WvStringParm value)
Called by inner generator when a key changes.
Definition: unifiltergen.cc:157
UniFilterGen::get
virtual WvString get(const UniConfKey &key)
Fetches a string value for a key from the registry.
Definition: unifiltergen.cc:76
UniFilterGen::iterator
virtual Iter * iterator(const UniConfKey &key)
Returns an iterator over the children of the specified key.
Definition: unifiltergen.cc:137
WvString
WvString is an implementation of a simple and efficient printable-string class.
Definition: wvstring.h:329
IUniConfGen
An abstract data container that backs a UniConf tree.
Definition: uniconfgen.h:39
UniConfKey
Represents a UniConf key which is a path in a hierarchy structured much like the traditional Unix fil...
Definition: uniconfkey.h:38
UniFilterGen::isok
virtual bool isok()
Determines if the generator is usable and working properly.
Definition: unifiltergen.cc:128
UniFilterGen::reversekeymap
virtual bool reversekeymap(const UniConfKey &mapped_key, UniConfKey &unmapped_key)
A mapping function for filters that unmap a keyspace.
Definition: unifiltergen.cc:44
UniFilterGen::inner
IUniConfGen * inner() const
Returns the inner generator.
Definition: unifiltergen.h:33
UniConfGen
A default implementation of IUniConfGen, providing various handy features that save trouble when impl...
Definition: uniconfgen.h:199
UniFilterGen::exists
virtual bool exists(const UniConfKey &key)
Without fetching its value, returns true if a key exists.
Definition: unifiltergen.cc:108
UniFilterGen::setv
virtual void setv(const UniConfPairList &pairs)
Stores multiple key-value pairs into the registry.
Definition: unifiltergen.cc:101
UniFilterGen::refresh
virtual bool refresh()
Refreshes information about a key recursively.
Definition: unifiltergen.cc:59
UniFilterGen::commit
virtual void commit()
Commits any changes.
Definition: unifiltergen.cc:52
UniFilterGen::haschildren
virtual bool haschildren(const UniConfKey &key)
Returns true if a key has children.
Definition: unifiltergen.cc:118
UniFilterGen::prefetch
virtual void prefetch(const UniConfKey &key, bool recursive)
Indicate that we will eventually be interested in doing get(), haschildren(), or other "get-like" ope...
Definition: unifiltergen.cc:68
UniFilterGen::flush_buffers
virtual void flush_buffers()
Flushes any commitment/notification buffers .
Definition: unifiltergen.cc:86
UniFilterGen::recursiveiterator
virtual Iter * recursiveiterator(const UniConfKey &key)
Like iterator(), but the returned iterator is recursive, that is, it will return children of the imme...
Definition: unifiltergen.cc:147
UniFilterGen
A UniConfGen that delegates all requests to an inner generator.
Definition: unifiltergen.h:17