WvStreams
unilistgen.h
00001 /* -*- Mode: C++ -*-
00002  * Worldvisions Weaver Software:
00003  *   Copyright (C) 1997-2002 Net Integration Technologies, Inc.
00004  * 
00005  * UniListGen is a UniConf generator to allow multiple generators to be
00006  * stacked in a priority sequence for get/set/etc.
00007  *
00008  */
00009 
00010 #ifndef __UNICONFLISTGEN_H
00011 #define __UNICONFLISTGEN_H
00012 
00013 #include "uniconfgen.h"
00014 #include "wvscatterhash.h"
00015 
00030 class UniListGen : public UniConfGen
00031 {
00032 public:
00033     UniListGen(UniConfGenList *_l);
00034     virtual ~UniListGen();
00035 
00036     UniConfGenList *l;
00037 
00038     /***** Overridden members *****/
00039 
00040     virtual void commit(); 
00041     virtual bool refresh();
00042     virtual void flush_buffers() { }
00043     virtual WvString get(const UniConfKey &key);
00044     virtual void set(const UniConfKey &key, WvStringParm value);
00045     virtual void setv(const UniConfPairList &pairs);
00046     virtual bool exists(const UniConfKey &key);
00047     virtual bool haschildren(const UniConfKey &key);
00048     virtual bool isok();
00049     virtual Iter *iterator(const UniConfKey &key);
00050 
00051     class IterIter;
00052 
00053 protected:
00058     virtual void gencallback(const UniConfKey &key, WvStringParm value);
00059 };
00060 
00061 
00062 #endif // __UNICONFLISTGEN_H