Main Page | Modules | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

unireplicategen.h

00001 /* -*- Mode: C++ -*-
00002  * Worldvisions Weaver Software:
00003  *   Copyright (C) 2002 Net Integration Technologies, Inc.
00004  *
00005  * A UniConf generator that caches keys/values in memory.
00006  */
00007 #ifndef __UNIREPLICATEGEN_H
00008 #define __UNIREPLICATEGEN_H
00009 
00010 #include "uniconftree.h"
00011 #include "wvlog.h"
00012 
00017 class UniReplicateGen : public UniConfGen
00018 {
00019 protected:
00020     IUniConfGenList gens;
00021 
00022     IUniConfGen *first_ok() const;
00023     void replicate(const UniConfKey &key = "");
00024     void deltacallback(const UniConfKey &key, WvStringParm value,
00025                        void *userdata);
00026 
00027 public:
00028     UniReplicateGen();
00029     UniReplicateGen(const IUniConfGenList &_gens, bool auto_free = true);
00030     
00031     void prepend(IUniConfGen *gen, bool auto_free = true);
00032     void append(IUniConfGen *gen, bool auto_free = true);
00033 
00034     /***** Overridden members *****/
00035     virtual bool isok();
00036     virtual void commit();
00037     virtual bool refresh();
00038     virtual void flush_buffers() { }
00039     virtual void set(const UniConfKey &key, WvStringParm value);
00040     virtual WvString get(const UniConfKey &key);
00041     virtual Iter *iterator(const UniConfKey &key);
00042 };
00043 
00044 #endif // __UNIREPLICATEGEN_H

Generated on Sun Jul 10 18:25:50 2005 for WvStreams by  doxygen 1.4.0