WvStreams
uniconfdaemonconn.h
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 #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