WvStreams
unislowgen.h
1 /* -*- Mode: C++ -*-
2  * Worldvisions Weaver Software:
3  * Copyright (C) 2002 Net Integration Technologies, Inc.
4  *
5  * A UniConfGen that makes everything slow.
6  */
7 #ifndef __UNISLOWGEN_H
8 #define __UNISLOWGEN_H
9 
10 #include "unifiltergen.h"
11 
27 class UniSlowGen : public UniFilterGen
28 {
29 public:
31  virtual ~UniSlowGen();
32 
33  virtual void commit();
34  virtual bool refresh();
35  virtual void flush_buffers() { }
36  virtual WvString get(const UniConfKey &key);
37  virtual bool exists(const UniConfKey &key);
38  virtual bool haschildren(const UniConfKey &key);
39  virtual Iter *iterator(const UniConfKey &key);
40  virtual Iter *recursiveiterator(const UniConfKey &key);
41 
42  int how_slow() const
43  { return slowcount; }
44 
45  void reset_slow()
46  { slowcount = 0; }
47 
48 private:
49  int slowcount;
50 
51  void be_slow(WvStringParm what);
52  void be_slow(WVSTRING_FORMAT_DECL)
53  { be_slow(WvString(WVSTRING_FORMAT_CALL)); }
54 };
55 
56 #endif //__UNISLOWGEN_H