Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

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 Methods

ACE_EXPLICIT 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, int recursive)
 Removes the <sub_section> from <key>. If recursive is non zero, any subkeys below <sub_section> are remove as well.

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 the value in <key> with <name> to a string of <value>.

virtual int set_integer_value (const ACE_Configuration_Section_Key& key, const ACE_TCHAR* name, u_int value)
 sets the value in <key> with <name> to an integer of <value>.

virtual int set_binary_value (const ACE_Configuration_Section_Key& key, const ACE_TCHAR* name, const void* data, u_int length)
 sets the value in <key> with <name> to binary data of <data> with <length>.

virtual int get_string_value (const ACE_Configuration_Section_Key& key, const ACE_TCHAR* name, ACE_TString& value)
 gets the string value of <name> from <key> and places it in <value>. Returns non zero on error (if value is not a string).

virtual int get_integer_value (const ACE_Configuration_Section_Key& key, const ACE_TCHAR* name, u_int& value)
 gets the integer value of <name> from <key> and places it in <value>. Returns non zero on error (if value is not an integer).

virtual int get_binary_value (const ACE_Configuration_Section_Key& key, const ACE_TCHAR* name, void*& data, u_int& length)
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 int operator== (const ACE_Configuration_Win32Registry &rhs) const
virtual int operator!= (const ACE_Configuration_Win32Registry &rhs) const

Static Public Methods

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

Protected Methods

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_Win32Registry& operator= (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_EXPLICIT ACE_Configuration_Win32Registry::ACE_Configuration_Win32Registry ( HKEY hKey )
 

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

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

method to enumerate through the <name> subsections in <key>. To begin iteration, <index> must zero. to continue iteration, invoke enumerate_sections again while incrementing index. Each iteration will return the <name> of the sub section. This method returns 0 on success, <0 on error and 1 when there are no more subsections to iterate through. Note - you may not delete or add values while enumerating. If you need to do this, you start the enumeration over again.

Reimplemented from ACE_Configuration.

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

method to enumerate through the <name> and <type> of values in a <key>. To begin iteration, <index> must be zero. to continue iteration, invoke enumerate_values again while incrementing index. Each iteration will return the <name> of the value and its <type>. This method returns 0 on success, <0 on error and 1 when there are no more values to iterate through. Note - you may not delete or add values while enumerating. If you need to do this, you start the enumeration over again.

Reimplemented from ACE_Configuration.

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

checks to see if an entry of <name> is in <key> and places the data type in <type>. Returns 0 on success (entry is found), -1 on error

Reimplemented from ACE_Configuration.

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

gets the binary value of <name> from <key> and places a copy in <data> and sets <length> to the length of the data. caller is responsible for deleting <data>. Returns non zero on error (if value is not binary).

Reimplemented from ACE_Configuration.

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

gets the integer value of <name> from <key> and places it in <value>. Returns non zero on error (if value is not an integer).

Reimplemented from ACE_Configuration.

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

gets the string value of <name> from <key> and places it in <value>. Returns non zero on error (if value is not a string).

Reimplemented from ACE_Configuration.

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

Gets the HKEY for a configuration section.

virtual 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]
 

Finds a <sub_section> in <base> and places the resulting key in <result>. If create is non zero, the sub_section will be created if it doesn't exist

Reimplemented from ACE_Configuration.

virtual int ACE_Configuration_Win32Registry::operator!= ( const ACE_Configuration_Win32Registry & rhs ) const [virtual]
 

ACE_Configuration_Win32Registry& ACE_Configuration_Win32Registry::operator= ( const ACE_Configuration_Win32Registry & rhs ) [protected]
 

virtual int ACE_Configuration_Win32Registry::operator== ( const ACE_Configuration_Win32Registry & rhs ) const [virtual]
 

virtual int ACE_Configuration_Win32Registry::remove_section ( const ACE_Configuration_Section_Key & key,
const ACE_TCHAR * sub_section,
int recursive ) [virtual]
 

Removes the <sub_section> from <key>. If recursive is non zero, any subkeys below <sub_section> are remove as well.

Reimplemented from 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.

Reimplemented from 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

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

sets the value in <key> with <name> to binary data of <data> with <length>.

Reimplemented from ACE_Configuration.

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

sets the value in <key> with <name> to an integer of <value>.

Reimplemented from ACE_Configuration.

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

sets the value in <key> with <name> to a string of <value>.

Reimplemented from ACE_Configuration.


The documentation for this class was generated from the following file:
Generated at Fri Oct 5 07:01:41 2001 for ACE by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000