00001 /* 00002 * Worldvisions Weaver Software: 00003 * Copyright (C) 1997-2002 Net Integration Technologies, Inc. 00004 * 00005 * Manages a UniConf daemon session. 00006 */ 00007 #ifndef __UNICONFDAEMONCONN_H 00008 #define __UNICONFDAEMONCONN_H 00009 00010 #include "uniconf.h" 00011 #include "uniclientconn.h" 00012 #include "unipermgen.h" 00013 #include "wvlog.h" 00014 #include "wvhashtable.h" 00015 00016 #define NUM_WATCHES 113 00017 00018 class UniConfDaemon; 00019 00024 class UniConfDaemonConn : public UniClientConn 00025 { 00026 public: 00027 UniConfDaemonConn(WvStream *s, const UniConf &root); 00028 virtual ~UniConfDaemonConn(); 00029 00030 virtual void close(); 00031 00032 virtual void execute(); 00033 00034 protected: 00035 UniConf root; 00036 00037 virtual void do_invalid(WvStringParm c); 00038 virtual void do_malformed(UniClientConn::Command); 00039 virtual void do_noop(); 00040 virtual void do_reply(WvStringParm reply); 00041 virtual void do_get(const UniConfKey &key); 00042 virtual void do_set(const UniConfKey &key, WvStringParm value); 00043 virtual void do_remove(const UniConfKey &key); 00044 virtual void do_subtree(const UniConfKey &key, bool recursive); 00045 virtual void do_haschildren(const UniConfKey &key); 00046 virtual void do_commit(); 00047 virtual void do_refresh(); 00048 virtual void do_quit(); 00049 virtual void do_help(); 00050 00051 virtual void addcallback(); 00052 virtual void delcallback(); 00053 00054 void deltacallback(const UniConf &cfg, const UniConfKey &key); 00055 }; 00056 00057 #endif // __UNICONFDAEMONCONN_H