Poco::Util

class WinRegistryConfiguration

File Information

Library: Util
Package: Windows
Header: Poco/Util/WinRegistryConfiguration.h

Description

An implementation of AbstractConfiguration that stores configuration data in the Windows registry.

Removing key is not supported. An attempt to remove a key results in a NotImplementedException being thrown.

Inheritance

Direct Base Classes: AbstractConfiguration

All Base Classes: Poco::RefCountedObject, AbstractConfiguration

Member Summary

Member Functions: convertToRegFormat, enumerate, getRaw, removeRaw, setRaw

Inherited Functions: createLocalView, createView, duplicate, enableEvents, enumerate, eventsEnabled, expand, getBool, getDouble, getInt, getInt16, getInt32, getInt64, getRaw, getRawString, getString, getUInt, getUInt16, getUInt32, getUInt64, has, hasOption, hasProperty, keys, parseBool, parseInt, parseInt16, parseInt64, parseUInt, parseUInt16, parseUInt64, referenceCount, release, remove, removeRaw, setBool, setDouble, setInt, setInt16, setInt32, setInt64, setRaw, setRawWithEvent, setString, setUInt, setUInt16, setUInt32, setUInt64

Constructors

WinRegistryConfiguration

WinRegistryConfiguration(
    const std::string & rootPath,
    REGSAM extraSam = 0
);

Creates the WinRegistryConfiguration. The rootPath must start with one of the root key names like HKEY_CLASSES_ROOT, e.g. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services. All further keys are relative to the root path and can be dot separated, e.g. the path MyService.ServiceName will be converted to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MyService\ServiceName. The extraSam parameter will be passed along to WinRegistryKey, to control registry virtualization for example.

Destructor

~WinRegistryConfiguration protected virtual

~WinRegistryConfiguration();

Destroys the WinRegistryConfiguration.

Member Functions

convertToRegFormat protected

std::string convertToRegFormat(
    const std::string & key,
    std::string & keyName
) const;

Takes a key in the format of A.B.C and converts it to registry format A\B\C, the last entry is the keyName, the rest is returned as path

enumerate protected virtual

void enumerate(
    const std::string & key,
    Keys & range
) const;

getRaw protected virtual

bool getRaw(
    const std::string & key,
    std::string & value
) const;

removeRaw protected virtual

void removeRaw(
    const std::string & key
);

setRaw protected virtual

void setRaw(
    const std::string & key,
    const std::string & value
);