00001 /* 00002 * Worldvisions Weaver Software: 00003 * Copyright (C) 2002 Net Integration Technologies, Inc. 00004 * 00005 * A UniConfGen framework to simplify writing filtering generators. 00006 */ 00007 #include "unifiltergen.h" 00008 00009 /***** UniFilterGen *****/ 00010 00011 UniFilterGen::UniFilterGen(UniConfGen *inner) : 00012 xinner(NULL) 00013 { 00014 setinner(inner); 00015 } 00016 00017 00018 UniFilterGen::~UniFilterGen() 00019 { 00020 delete xinner; 00021 } 00022 00023 00024 void UniFilterGen::setinner(UniConfGen *inner) 00025 { 00026 if (xinner) 00027 xinner->setcallback(UniConfGenCallback(), NULL); 00028 xinner = inner; 00029 if (xinner) 00030 xinner->setcallback(UniConfGenCallback(this, 00031 &UniFilterGen::gencallback), NULL); 00032 } 00033 00034 00035 void UniFilterGen::commit() 00036 { 00037 xinner->commit(); 00038 } 00039 00040 00041 bool UniFilterGen::refresh() 00042 { 00043 return xinner->refresh(); 00044 } 00045 00046 00047 WvString UniFilterGen::get(const UniConfKey &key) 00048 { 00049 return xinner->get(key); 00050 } 00051 00052 00053 void UniFilterGen::set(const UniConfKey &key, WvStringParm value) 00054 { 00055 xinner->set(key, value); 00056 } 00057 00058 00059 bool UniFilterGen::exists(const UniConfKey &key) 00060 { 00061 return xinner->exists(key); 00062 } 00063 00064 00065 bool UniFilterGen::haschildren(const UniConfKey &key) 00066 { 00067 return xinner->haschildren(key); 00068 } 00069 00070 00071 bool UniFilterGen::isok() 00072 { 00073 return xinner->isok(); 00074 } 00075 00076 00077 UniConfGen::Iter *UniFilterGen::iterator(const UniConfKey &key) 00078 { 00079 return xinner->iterator(key); 00080 } 00081 00082 00083 void UniFilterGen::gencallback(const UniConfKey &key, WvStringParm value, 00084 void *userdata) 00085 { 00086 delta(key, value); 00087 }