ACE  6.1.0
Public Member Functions | Static Public Member Functions | Protected Member Functions
ACE_Configuration_Win32Registry Class Reference

The win32 registry implementation of a configuration database. More...

#include <Configuration.h>

Inheritance diagram for ACE_Configuration_Win32Registry:
Inheritance graph
[legend]
Collaboration diagram for ACE_Configuration_Win32Registry:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 ACE_Configuration_Win32Registry (HKEY hKey)
virtual ~ACE_Configuration_Win32Registry (void)
 Destructor.
virtual int open_section (const ACE_Configuration_Section_Key &base, const ACE_TCHAR *sub_section, int create, ACE_Configuration_Section_Key &result)
virtual int remove_section (const ACE_Configuration_Section_Key &key, const ACE_TCHAR *sub_section, bool recursive)
 Removes a named section.
virtual int enumerate_values (const ACE_Configuration_Section_Key &key, int index, ACE_TString &name, VALUETYPE &type)
virtual int enumerate_sections (const ACE_Configuration_Section_Key &key, int index, ACE_TString &name)
virtual int set_string_value (const ACE_Configuration_Section_Key &key, const ACE_TCHAR *name, const ACE_TString &value)
 Sets a string-typed value.
virtual int set_integer_value (const ACE_Configuration_Section_Key &key, const ACE_TCHAR *name, u_int value)
 Sets a integer-typed value.
virtual int set_binary_value (const ACE_Configuration_Section_Key &key, const ACE_TCHAR *name, const void *data, size_t length)
 Sets a binary-typed value.
virtual int get_string_value (const ACE_Configuration_Section_Key &key, const ACE_TCHAR *name, ACE_TString &value)
 Gets a string-typed value.
virtual int get_integer_value (const ACE_Configuration_Section_Key &key, const ACE_TCHAR *name, u_int &value)
 Gets an integer-typed value.
virtual int get_binary_value (const ACE_Configuration_Section_Key &key, const ACE_TCHAR *name, void *&data, size_t &length)
 Gets a binary-typed value.
virtual int find_value (const ACE_Configuration_Section_Key &key, const ACE_TCHAR *name, VALUETYPE &type)
virtual int remove_value (const ACE_Configuration_Section_Key &key, const ACE_TCHAR *name)
 Removes the the value name from key. returns non zero on error.
virtual bool operator== (const ACE_Configuration_Win32Registry &rhs) const
virtual bool operator!= (const ACE_Configuration_Win32Registry &rhs) const

Static Public Member Functions

static HKEY resolve_key (HKEY hKey, const ACE_TCHAR *path, int create=1)

Protected Member Functions

int load_key (const ACE_Configuration_Section_Key &key, HKEY &hKey)
 Gets the HKEY for a configuration section.
 ACE_Configuration_Win32Registry (void)
 ACE_Configuration_Win32Registry (const ACE_Configuration_Win32Registry &rhs)
ACE_Configuration_Win32Registryoperator= (const ACE_Configuration_Win32Registry &rhs)

Detailed Description

The win32 registry implementation of a configuration database.

The win32 implementation basically makes calls through to the registry functions. The API is very similar so very little work must be done


Constructor & Destructor Documentation

ACE_Configuration_Win32Registry::ACE_Configuration_Win32Registry ( HKEY  hKey) [explicit]

Constructor for registry configuration database. hKey is the base registry key to attach to. This class takes ownership of hKey, it will invoke <RegCloseKey> on it upon destruction.

ACE_Configuration_Win32Registry::~ACE_Configuration_Win32Registry ( void  ) [virtual]

Destructor.

ACE_Configuration_Win32Registry::ACE_Configuration_Win32Registry ( void  ) [protected]
ACE_Configuration_Win32Registry::ACE_Configuration_Win32Registry ( const ACE_Configuration_Win32Registry rhs) [protected]

Member Function Documentation

int ACE_Configuration_Win32Registry::enumerate_sections ( const ACE_Configuration_Section_Key key,
int  index,
ACE_TString name 
) [virtual]

Enumerates through the subsections in a section.

Parameters:
keySection key to iterate through.
indexIteration position. Must be zero on the first call to iterate through key. Increment index by one on each successive call to this method.
nameReceives the subsection's name.
Note:
You may not modify the key section while enumerating. If the section is modified during enumeration, results are undefined; you must restart the enumeration from index 0.
Return values:
0for success, name has a valid name.
1there are no more subsections in the section.
-1for error; ACE_OS::last_error() retrieves error code.

Implements ACE_Configuration.

int ACE_Configuration_Win32Registry::enumerate_values ( const ACE_Configuration_Section_Key key,
int  index,
ACE_TString name,
VALUETYPE type 
) [virtual]

Enumerates through the values in a section.

Parameters:
keySection key to iterate through.
indexIteration position. Must be zero on the first call to iterate through key. Increment index by one on each successive call to this method.
nameReceives the value's name.
typeReceives the value's data type.
Note:
You may not delete or add values while enumerating. If the section is modified during enumeration, results are undefined; you must restart the enumeration from index 0.
Return values:
0for success, name and type are valid.
1there are no more values in the section.
-1for error; ACE_OS::last_error() retrieves error code.

Implements ACE_Configuration.

int ACE_Configuration_Win32Registry::find_value ( const ACE_Configuration_Section_Key key,
const ACE_TCHAR name,
VALUETYPE type 
) [virtual]

Retrieves the type of a named configuration value.

Parameters:
keyConfiguration section to look up the name in.
nameName of the configuration value to get the type of.
typeReceives the data type of the named value, if it exists.
Return values:
0for success.
-1for error; ACE_OS::last_error() retrieves error code.

Implements ACE_Configuration.

int ACE_Configuration_Win32Registry::get_binary_value ( const ACE_Configuration_Section_Key key,
const ACE_TCHAR name,
void *&  data,
size_t &  length 
) [virtual]

Gets a binary-typed value.

Parameters:
keyConfiguration section to get the value from.
nameName of the configuration value to get.
dataReceives a pointer to memory holding the binary data for the value. This method allocates the memory pointed to using operator new[]. The caller is responsible for freeing the memory using operator delete[].
lengthReceives the number of bytes in the value.
Return values:
0for success; caller is responsible for freeing the returned memory.
-1for error; ACE_OS::last_error() retrieves error code.

Implements ACE_Configuration.

int ACE_Configuration_Win32Registry::get_integer_value ( const ACE_Configuration_Section_Key key,
const ACE_TCHAR name,
u_int &  value 
) [virtual]

Gets an integer-typed value.

Parameters:
keyConfiguration section to get the value from.
nameName of the configuration value to get.
valueReceives the configuration value if it exists and has type INTEGER.
Return values:
0for success.
-1for error; ACE_OS::last_error() retrieves error code.

Implements ACE_Configuration.

int ACE_Configuration_Win32Registry::get_string_value ( const ACE_Configuration_Section_Key key,
const ACE_TCHAR name,
ACE_TString value 
) [virtual]

Gets a string-typed value.

Parameters:
keyConfiguration section to get the value from.
nameName of the configuration value to get.
valueReceives the configuration value if it exists and has type STRING.
Return values:
0for success.
-1for error; ACE_OS::last_error() retrieves error code.

Implements ACE_Configuration.

int ACE_Configuration_Win32Registry::load_key ( const ACE_Configuration_Section_Key key,
HKEY &  hKey 
) [protected]

Gets the HKEY for a configuration section.

int ACE_Configuration_Win32Registry::open_section ( const ACE_Configuration_Section_Key base,
const ACE_TCHAR sub_section,
int  create,
ACE_Configuration_Section_Key result 
) [virtual]

Opens a named section in an existing section.

Parameters:
baseExisting section in which to open the named section.
sub_sectionName of the section to open.
createIf zero, the named section must exist. If non-zero, the named section will be created if it does not exist.
resultReference; receives the section key for the new section.
Return values:
0for success.
-1for error; ACE_OS::last_error() retrieves error code.

Implements ACE_Configuration.

bool ACE_Configuration_Win32Registry::operator!= ( const ACE_Configuration_Win32Registry rhs) const [virtual]
ACE_Configuration_Win32Registry& ACE_Configuration_Win32Registry::operator= ( const ACE_Configuration_Win32Registry rhs) [protected]
bool ACE_Configuration_Win32Registry::operator== ( const ACE_Configuration_Win32Registry rhs) const [virtual]
int ACE_Configuration_Win32Registry::remove_section ( const ACE_Configuration_Section_Key key,
const ACE_TCHAR sub_section,
bool  recursive 
) [virtual]

Removes a named section.

Parameters:
keySection key to remove the named section from.
sub_sectionName of the section to remove.
recursiveIf true, any subkeys below sub_section are removed as well.
Return values:
0for success.
-1for error; ACE_OS::last_error() retrieves error code.

Implements ACE_Configuration.

int ACE_Configuration_Win32Registry::remove_value ( const ACE_Configuration_Section_Key key,
const ACE_TCHAR name 
) [virtual]

Removes the the value name from key. returns non zero on error.

Implements ACE_Configuration.

HKEY ACE_Configuration_Win32Registry::resolve_key ( HKEY  hKey,
const ACE_TCHAR path,
int  create = 1 
) [static]

This method traverses <path> through <hKey>. It is useful when you want the HKEY for a specific registry key, especially when initializing this implementation. Caller is responsible for closeing this key when it is no longer used. If create is 1 (default) the keys are create if they don't already exist. Returns 0 on error

int ACE_Configuration_Win32Registry::set_binary_value ( const ACE_Configuration_Section_Key key,
const ACE_TCHAR name,
const void *  data,
size_t  length 
) [virtual]

Sets a binary-typed value.

Parameters:
keyConfiguration section to set the value in.
nameName of the configuration value to set. If a value with the specified name exists, it is replaced.
dataPointer to the binary data for the value.
lengthNumber of bytes for the new value.
Return values:
0for success.
-1for error; ACE_OS::last_error() retrieves error code.

Implements ACE_Configuration.

int ACE_Configuration_Win32Registry::set_integer_value ( const ACE_Configuration_Section_Key key,
const ACE_TCHAR name,
u_int  value 
) [virtual]

Sets a integer-typed value.

Parameters:
keyConfiguration section to set the value in.
nameName of the configuration value to set. If a value with the specified name exists, it is replaced.
valueThe integer to set the configuration value to.
Return values:
0for success.
-1for error; ACE_OS::last_error() retrieves error code.

Implements ACE_Configuration.

int ACE_Configuration_Win32Registry::set_string_value ( const ACE_Configuration_Section_Key key,
const ACE_TCHAR name,
const ACE_TString value 
) [virtual]

Sets a string-typed value.

Parameters:
keyConfiguration section to set the value in.
nameName of the configuration value to set. If a value with the specified name exists, it is replaced.
valueThe string to set the configuration value to.
Return values:
0for success.
-1for error; ACE_OS::last_error() retrieves error code.

Implements ACE_Configuration.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines