Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

uniconfpamconn.h

Go to the documentation of this file.
00001 /*
00002  * Worldvisions Weaver Software:
00003  *   Copyright (C) 1997-2002 Net Integration Technologies, Inc.
00004  *
00005  * Manages a UniConf daemon session which is authenticated through PAM.
00006  */
00007 #ifndef __UNICONFPAMCONN_H
00008 #define __UNICONFPAMCONN_H
00009 
00010 #include "uniconfdaemonconn.h"
00011 #include "unisecuregen.h"
00012 
00013 /**
00014  * Get around the lack of RTTI by keeping a mapping of UniConfGen's to
00015  * UniSecureGen's.  That way we can convert a UniConfGen to the derived class
00016  * by just looking it up.  If it's not there, it can't be downcasted.
00017  */
00018 unsigned int WvHash(const UniConfGen *);
00019 
00020 struct SecureGen
00021 {
00022     UniConfGen *key;
00023     UniSecureGen *data;
00024 };
00025 DeclareWvDict(SecureGen, UniConfGen *, key);
00026 
00027 
00028 class UniConfPamConn : public UniConfDaemonConn
00029 {
00030 public:
00031     UniConfPamConn(WvStream *s, const UniConf &root);
00032 
00033     static SecureGenDict securegens;
00034 
00035 protected:
00036     virtual void addcallback();
00037     virtual void delcallback();
00038 
00039     virtual void do_get(const UniConfKey &key);
00040     virtual void do_set(const UniConfKey &key, WvStringParm value);
00041     virtual void do_remove(const UniConfKey &key);
00042     virtual void do_subtree(const UniConfKey &key);
00043     virtual void do_haschildren(const UniConfKey &key);
00044 
00045     void deltacallback(const UniConf &cfg, const UniConfKey &key);
00046 
00047     void updatecred(const UniConf &key);
00048 };
00049 
00050 #endif // __UNICONFPAMCONN_H

Generated on Sat Feb 21 21:05:20 2004 for WvStreams by doxygen 1.3.5