00001 /* -*- Mode: C++ -*- 00002 * Worldvisions Weaver Software: 00003 * Copyright (C) 2002 Net Integration Technologies, Inc. 00004 * 00005 * A generator to make a UniConf object out of a WvConf. 00006 */ 00007 00008 #ifndef __UNICONFWVGEN_H 00009 #define __UNICONFWVGEN_H 00010 00011 #include "uniconfgen.h" 00012 00013 class UniWvConfGen : public UniConfGen 00014 { 00015 private: 00016 UniConfKey* tempkey; 00017 WvString tempvalue; 00018 00019 void notify(void *userdata, WvStringParm section, WvStringParm entry, 00020 WvStringParm oldval, WvStringParm newval); 00021 00022 protected: 00023 WvConf &cfg; 00024 00025 class WvConfIter; 00026 00027 public: 00028 UniWvConfGen(WvConf &_cfg); 00029 00030 /***** Overridden members *****/ 00031 00032 virtual WvString get(const UniConfKey &key); 00033 virtual void set(const UniConfKey &key, WvStringParm value); 00034 virtual bool haschildren(const UniConfKey &key); 00035 virtual Iter *iterator(const UniConfKey &key); 00036 }; 00037 00038 /** 00039 * A wrapper class for the wvconf iters to provide a UniConfGen iter. 00040 */ 00041 class UniWvConfGen::WvConfIter : public UniConfGen::Iter 00042 { 00043 protected: 00044 WvConfigSection::Iter i; 00045 00046 public: 00047 WvConfIter(WvConfigSection *sect); 00048 00049 /***** Overridden members *****/ 00050 00051 virtual void rewind(); 00052 virtual bool next(); 00053 virtual UniConfKey key() const; 00054 }; 00055 00056 #endif //__UNICONFWVGEN_H