unifiltergen.h

00001 /* -*- Mode: C++ -*-
00002  * Worldvisions Weaver Software:
00003  *   Copyright (C) 2002 Net Integration Technologies, Inc.
00004  * 
00005  * A UniConfGen framework to simplify writing filtering generators.
00006  */
00007 #ifndef __UNIFILTERGEN_H
00008 #define __UNIFILTERGEN_H
00009 
00010 #include "uniconfgen.h"
00011 
00017 class UniFilterGen : public UniConfGen
00018 {
00019     IUniConfGen *xinner;
00020 
00021 protected:
00022     UniFilterGen(IUniConfGen *inner);
00023     virtual ~UniFilterGen();
00024 
00029     void setinner(IUniConfGen *inner);
00030 
00031 public:
00033     IUniConfGen *inner() const
00034         { return xinner; }
00035     
00045     virtual UniConfKey keymap(const UniConfKey &key);
00046 
00052     virtual UniConfKey reversekeymap(const UniConfKey &key);
00053     
00054 
00055     /***** Overridden methods *****/
00056 
00057     virtual void commit();
00058     virtual bool refresh();
00059     virtual void flush_buffers();
00060     virtual void prefetch(const UniConfKey &key, bool recursive);
00061     virtual WvString get(const UniConfKey &key);
00062     virtual void set(const UniConfKey &key, WvStringParm value);
00063     virtual void setv(const UniConfPairList &pairs);
00064     virtual bool exists(const UniConfKey &key);
00065     virtual bool haschildren(const UniConfKey &key);
00066     virtual bool isok();
00067     virtual Iter *iterator(const UniConfKey &key);
00068     virtual Iter *recursiveiterator(const UniConfKey &key);
00069 
00070 protected:
00075     virtual void gencallback(const UniConfKey &key, WvStringParm value);
00076 };
00077 
00078 #endif //__UNIFILTERGEN_H

Generated on Wed Jul 12 17:53:19 2006 for WvStreams by  doxygen 1.4.7