WvStreams
Main Page
Modules
Classes
Files
File List
File Members
include
uniregistrygen.h
1
/* -*- Mode: C++ -*-
2
* Worldvisions Weaver Software:
3
* Copyright (C) 1997-2003 Net Integration Technologies, Inc.
4
*
5
* A generator that exposes the windows registry.
6
*
7
* When linking statically, use the following #pragma to ensure this
8
* generator gets registered:
9
* #pragma comment(linker, "/include:?UniRegistryGenMoniker@@3V?$WvMoniker@VUniConfGen@@@@A")
10
*/
11
#ifndef __UNICONFREGISTRY_H
12
#define __UNICONFREGISTRY_H
13
14
#include "uniconfgen.h"
15
#include "wvlog.h"
16
#include "windows.h"
17
24
class
UniRegistryGen
:
public
UniConfGen
25
{
26
WvLog
m_log;
27
HKEY m_hRoot;
28
29
protected
:
30
virtual
void
flush_buffers
() { }
31
32
public
:
33
UniRegistryGen
(
WvString
_base);
34
virtual
~
UniRegistryGen
();
35
36
/***** Overridden methods *****/
37
38
virtual
bool
isok
();
39
virtual
WvString
get
(
const
UniConfKey
&key);
40
virtual
void
set
(
const
UniConfKey
&key,
WvStringParm
value);
41
virtual
void
setv
(
const
UniConfPairList &pairs);
42
virtual
bool
exists
(
const
UniConfKey
&key);
43
virtual
bool
haschildren
(
const
UniConfKey
&key);
44
virtual
Iter *
iterator
(
const
UniConfKey
&key);
45
};
46
47
class
UniRegistryGenIter
:
public
UniConfGen::Iter
48
{
49
public
:
50
UniRegistryGenIter
(
UniRegistryGen
&gen,
const
UniConfKey
&
key
, HKEY base);
51
53
virtual
~UniRegistryGenIter
();
54
59
virtual
void
rewind
();
60
66
virtual
bool
next
();
67
69
virtual
UniConfKey
key
()
const
;
70
72
virtual
WvString
value
()
const
;
73
74
private
:
75
LONG next_key();
76
LONG next_value();
77
78
HKEY m_hKey;
79
enum
Enumerating { KEYS, VALUES } m_enumerating;
80
unsigned
m_index;
81
UniRegistryGen
&gen;
82
const
UniConfKey
parent;
83
UniConfKey
current_key;
84
const
HKEY m_dontClose;
85
};
86
87
#endif // __UNICONFREGISTRY_H
Generated on Thu Oct 31 2013 23:17:04 for WvStreams by
1.8.4