00001
00002
00003
00004
00005
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 #define CONTINUE_SELECT_AT 100
00018
00019 class UniConfDaemon;
00020
00025 class UniConfDaemonConn : public UniClientConn
00026 {
00027 public:
00028 UniConfDaemonConn(WvStream *s, const UniConf &root);
00029 virtual ~UniConfDaemonConn();
00030
00031 virtual void close();
00032
00033 virtual void execute();
00034
00035 protected:
00036 UniConf root;
00037
00038 virtual void do_invalid(WvStringParm c);
00039 virtual void do_malformed(UniClientConn::Command);
00040 virtual void do_noop();
00041 virtual void do_reply(WvStringParm reply);
00042 virtual void do_get(const UniConfKey &key);
00043 virtual void do_set(const UniConfKey &key, WvStringParm value);
00044 virtual void do_remove(const UniConfKey &key);
00045 virtual void do_subtree(const UniConfKey &key, bool recursive);
00046 virtual void do_haschildren(const UniConfKey &key);
00047 virtual void do_commit();
00048 virtual void do_refresh();
00049 virtual void do_quit();
00050 virtual void do_help();
00051
00052 virtual void addcallback();
00053 virtual void delcallback();
00054
00055 void deltacallback(const UniConf &cfg, const UniConfKey &key);
00056 };
00057
00058 #endif // __UNICONFDAEMONCONN_H