WvStreams
uniunwrapgen.h
1 /* -*- Mode: C++ -*-
2  * Worldvisions Weaver Software:
3  * Copyright (C) 2004 Net Integration Technologies, Inc.
4  *
5  * A totally evil UniConfGen that "unwraps" a UniConf object by turning it
6  * back into a UniConfGen.
7  */
8 #ifndef __UNIUNWRAPGEN_H
9 #define __UNIUNWRAPGEN_H
10 
11 #include "uniconf.h"
12 
33 class UniUnwrapGen : public UniConfGen
34 {
35  UniConf xinner;
36  UniConfKey xfullkey;
37 
38 public:
39  UniUnwrapGen(const UniConf &inner);
40  virtual ~UniUnwrapGen();
41 
42  void setinner(const UniConf &inner);
43 
45  const UniConf &inner() const
46  { return xinner; }
47 
48  /***** Overridden methods *****/
49  virtual void commit();
50  virtual bool refresh();
51  virtual void flush_buffers() { }
52  virtual void prefetch(const UniConfKey &key, bool recursive);
53  virtual WvString get(const UniConfKey &key);
54  virtual void set(const UniConfKey &key, WvStringParm value);
55  virtual void setv(const UniConfPairList &pairs);
56  virtual bool exists(const UniConfKey &key);
57  virtual bool haschildren(const UniConfKey &key);
58  virtual bool isok();
59  virtual Iter *iterator(const UniConfKey &key);
60  virtual Iter *recursiveiterator(const UniConfKey &key);
61 
62 private:
67  virtual void gencallback(const UniConfKey &key, WvStringParm value);
68 
70  UniConf _sub(const UniConfKey &key);
71 
72  class Iter;
73  class RecursiveIter;
74 
75  bool refreshing, committing;
76 };
77 
78 #endif //__UNIUNWRAPGEN_H
UniUnwrapGen::haschildren
virtual bool haschildren(const UniConfKey &key)
Returns true if a key has children.
Definition: uniunwrapgen.cc:111
UniUnwrapGen::isok
virtual bool isok()
Determines if the generator is usable and working properly.
Definition: uniunwrapgen.cc:117
UniUnwrapGen::inner
const UniConf & inner() const
Returns the inner generator.
Definition: uniunwrapgen.h:45
UniConf
UniConf instances function as handles to subtrees of a UniConf tree and expose a high-level interface...
Definition: uniconf.h:50
WvString
WvString is an implementation of a simple and efficient printable-string class.
Definition: wvstring.h:329
UniUnwrapGen::setv
virtual void setv(const UniConfPairList &pairs)
Stores multiple key-value pairs into the registry.
Definition: uniunwrapgen.cc:97
UniConfKey
Represents a UniConf key which is a path in a hierarchy structured much like the traditional Unix fil...
Definition: uniconfkey.h:38
UniUnwrapGen::exists
virtual bool exists(const UniConfKey &key)
Without fetching its value, returns true if a key exists.
Definition: uniunwrapgen.cc:105
UniUnwrapGen::iterator
virtual Iter * iterator(const UniConfKey &key)
Returns an iterator over the children of the specified key.
Definition: uniunwrapgen.cc:162
UniUnwrapGen::commit
virtual void commit()
Commits any changes.
Definition: uniunwrapgen.cc:55
UniUnwrapGen::refresh
virtual bool refresh()
Refreshes information about a key recursively.
Definition: uniunwrapgen.cc:66
UniUnwrapGen
Deprecated: a UniConfGen that delegates all requests to an inner UniConf.
Definition: uniunwrapgen.h:33
UniUnwrapGen::prefetch
virtual void prefetch(const UniConfKey &key, bool recursive)
Indicate that we will eventually be interested in doing get(), haschildren(), or other "get-like" ope...
Definition: uniunwrapgen.cc:79
UniConfGen
A default implementation of IUniConfGen, providing various handy features that save trouble when impl...
Definition: uniconfgen.h:199
UniUnwrapGen::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: uniunwrapgen.cc:168
UniUnwrapGen::get
virtual WvString get(const UniConfKey &key)
Fetches a string value for a key from the registry.
Definition: uniunwrapgen.cc:85
UniUnwrapGen::set
virtual void set(const UniConfKey &key, WvStringParm value)
Stores a string value for a key into the registry.
Definition: uniunwrapgen.cc:91
UniUnwrapGen::flush_buffers
virtual void flush_buffers()
Flushes any commitment/notification buffers .
Definition: uniunwrapgen.h:51