WvStreams
unisecuregen.h
1 /* -*- Mode: C++ -*-
2  * Worldvisions Weaver Software:
3  * Copyright (C) 1997-2002 Net Integration Technologies, Inc.
4  *
5  */
6 #ifndef __UNISECUREGEN_H
7 #define __UNISECUREGEN_H
8 
9 #include "unifiltergen.h"
10 #include "unipermgen.h"
11 #include "wvstring.h"
12 #include "wvstringlist.h"
13 
32 class UniSecureGen : public UniFilterGen
33 {
34  UniPermGen *perms;
36 
37 public:
38  UniSecureGen(IUniConfGen *_gen, UniPermGen *_perms);
39  UniSecureGen(WvStringParm moniker, UniPermGen *_perms = NULL);
40 
41  void setcredentials(const UniPermGen::Credentials &_cred);
42  void setcredentials(WvStringParm user, const WvStringList &groups);
43 
45  virtual void flush_buffers() { }
46  virtual WvString get(const UniConfKey &key);
47  virtual bool exists(const UniConfKey &key);
48  virtual void set(const UniConfKey &key, WvStringParm value);
49  virtual bool haschildren(const UniConfKey &key);
50  virtual Iter *iterator(const UniConfKey &key);
51  virtual Iter *recursiveiterator(const UniConfKey &key);
52  virtual bool refresh();
53  virtual void commit();
54 
55 private:
56 
58  bool findperm(const UniConfKey &key, UniPermGen::Type type);
59 
65  bool drilldown(const UniConfKey &key);
66 
68  virtual void gencallback(const UniConfKey &key, WvStringParm value);
69 };
70 
71 
72 #endif // __UNISECUREGEN_H
UniSecureGen::flush_buffers
virtual void flush_buffers()
Overridden methods.
Definition: unisecuregen.h:45
UniSecureGen::commit
virtual void commit()
Commits any changes.
Definition: unisecuregen.cc:85
UniPermGen::Credentials
Definition: unipermgen.h:38
UniSecureGen::haschildren
virtual bool haschildren(const UniConfKey &key)
Returns true if a key has children.
Definition: unisecuregen.cc:119
UniSecureGen::recursiveiterator
virtual Iter * recursiveiterator(const UniConfKey &key)
Like iterator(), but the returned iterator is recursive, that is, it will return children of the imme...
Definition: unisecuregen.cc:173
WvString
WvString is an implementation of a simple and efficient printable-string class.
Definition: wvstring.h:329
IUniConfGen
An abstract data container that backs a UniConf tree.
Definition: uniconfgen.h:39
UniSecureGen::get
virtual WvString get(const UniConfKey &key)
Fetches a string value for a key from the registry.
Definition: unisecuregen.cc:92
UniPermGen
UniPermGen wraps a tree encoding Unix-style permissions, and provides an API for setting and checking...
Definition: unipermgen.h:26
UniConfKey
Represents a UniConf key which is a path in a hierarchy structured much like the traditional Unix fil...
Definition: uniconfkey.h:38
UniSecureGen
UniSecureGen wraps a given generator and checks permissions (using a Unix-style scheme) before respon...
Definition: unisecuregen.h:32
UniSecureGen::iterator
virtual Iter * iterator(const UniConfKey &key)
Returns an iterator over the children of the specified key.
Definition: unisecuregen.cc:160
WvStringList
This is a WvList of WvStrings, and is a really handy way to parse strings.
Definition: wvstringlist.h:27
UniSecureGen::exists
virtual bool exists(const UniConfKey &key)
Without fetching its value, returns true if a key exists.
Definition: unisecuregen.cc:104
UniSecureGen::refresh
virtual bool refresh()
Refreshes information about a key recursively.
Definition: unisecuregen.cc:78
UniFilterGen
A UniConfGen that delegates all requests to an inner generator.
Definition: unifiltergen.h:17
UniSecureGen::set
virtual void set(const UniConfKey &key, WvStringParm value)
Stores a string value for a key into the registry.
Definition: unisecuregen.cc:112