WvStreams
uniclientgen.h
1/* -*- Mode: C++ -*-
2 * Worldvisions Weaver Software:
3 * Copyright (C) 1997-2002 Net Integration Technologies, Inc.
4 *
5 * UniClientGen is a UniConfGen for retrieving data from the
6 * UniConfDaemon.
7 */
8#ifndef __UNICONFCLIENT_H
9#define __UNICONFCLIENT_H
10
11#include "uniconfgen.h"
12#include "wvlog.h"
13#include "wvstringlist.h"
14#include "uniclientconn.h"
15#include "uniconfkey.h"
16
29{
30 UniClientConn *conn;
31
32 WvLog log;
33
34 WvString result_key;
35 WvString result;
37 UniListIter *result_list;
39 bool cmdinprogress;
40 bool cmdsuccess;
42 time_t timeout; // command timeout in ms
43
44 int version;
46public:
52 UniClientGen(IWvStream *stream, WvStringParm dst = WvString::null);
53
54 virtual ~UniClientGen();
55
56 time_t set_timeout(time_t _timeout);
57
58 /***** Overridden members *****/
59
60 virtual bool isok();
61
62 virtual bool refresh();
63 virtual void flush_buffers();
64 virtual void commit();
65 virtual WvString get(const UniConfKey &key);
66 virtual void set(const UniConfKey &key, WvStringParm value);
67 virtual void setv(const UniConfPairList &pairs);
68 virtual bool haschildren(const UniConfKey &key);
69 virtual Iter *iterator(const UniConfKey &key);
70 virtual Iter *recursiveiterator(const UniConfKey &key);
71
72protected:
73 virtual Iter *do_iterator(const UniConfKey &key, bool recursive);
74 void conncallback();
75 bool do_select();
76};
77
78
79#endif // __UNICONFCLIENT_H
Represents a connection to a UniConf daemon via any WvStream.
Communicates with a UniConfDaemon to fetch and store keys and values.
virtual Iter * recursiveiterator(const UniConfKey &key)
Like iterator(), but the returned iterator is recursive, that is, it will return children of the imme...
virtual bool isok()
Determines if the generator is usable and working properly.
virtual void flush_buffers()
Flushes any commitment/notification buffers .
virtual void setv(const UniConfPairList &pairs)
Stores multiple key-value pairs into the registry.
virtual void set(const UniConfKey &key, WvStringParm value)
Stores a string value for a key into the registry.
virtual bool haschildren(const UniConfKey &key)
Returns true if a key has children.
virtual Iter * iterator(const UniConfKey &key)
Returns an iterator over the children of the specified key.
virtual WvString get(const UniConfKey &key)
Fetches a string value for a key from the registry.
virtual bool refresh()
Refreshes information about a key recursively.
virtual void commit()
Commits any changes.
An abstract iterator over keys and values in a generator.
Definition uniconfgen.h:324
A default implementation of IUniConfGen, providing various handy features that save trouble when impl...
Definition uniconfgen.h:200
Represents a UniConf key which is a path in a hierarchy structured much like the traditional Unix fil...
Definition uniconfkey.h:39
An iterator that iterates through a constant list of keys.
Definition unilistiter.h:28
A WvFastString acts exactly like a WvString, but can take (const char *) strings without needing to a...
Definition wvstring.h:94
A WvLog stream accepts log messages from applications and forwards them to all registered WvLogRcv's.
Definition wvlog.h:57
WvString is an implementation of a simple and efficient printable-string class.
Definition wvstring.h:330