ACE  6.3.3
Classes | Macros | Typedefs
Configuration.h File Reference
#include "ace/SStringfwd.h"
#include "ace/Hash_Map_With_Allocator_T.h"
#include "ace/Malloc_T.h"
#include "ace/MMAP_Memory_Pool.h"
#include "ace/Local_Memory_Pool.h"
#include "ace/Synch_Traits.h"
#include "ace/Configuration.inl"

Classes

class  ACE_Section_Key_Internal
 A base class for internal handles to section keys for configuration implementations. More...
 
class  ACE_Configuration_Section_Key
 Reference counted wrapper for ACE_Section_Key_Internal. More...
 
class  ACE_Configuration
 Base class for configuration databases. More...
 
class  ACE_Section_Key_Win32
 The Win32 registry implementation of an internal section key. More...
 
class  ACE_Configuration_Win32Registry
 The win32 registry implementation of a configuration database. More...
 
class  ACE_Configuration_ExtId
 External ID for the section and value hash. More...
 
class  ACE_Configuration_Value_IntId
 The section hash table internal value class. More...
 
class  ACE_Configuration_Section_IntId
 The internal ID for a section hash table. More...
 
class  ACE_Configuration_Section_Key_Heap
 Internal section key class for heap based configuration database. More...
 
class  ACE_Configuration_Heap
 The concrete implementation of a allocator based configuration database. More...
 

Macros

#define ACE_CONFIG_SECTION_INDEX   "Config_Section_Index"
 
#define ACE_DEFAULT_CONFIG_SECTION_SIZE   16
 

Typedefs

typedef ACE_Allocator_Adapter< ACE_Malloc< ACE_MMAP_MEMORY_POOL, ACE_SYNCH_MUTEX > > PERSISTENT_ALLOCATOR
 
typedef ACE_Allocator_Adapter< ACE_Malloc< ACE_LOCAL_MEMORY_POOL, ACE_SYNCH_MUTEX > > HEAP_ALLOCATOR
 
typedef ACE_Hash_Map_With_Allocator< ACE_Configuration_ExtId, int > SUBSECTION_MAP
 
typedef ACE_Hash_Map_Manager_Ex< ACE_Configuration_ExtId, int, ACE_Hash< ACE_Configuration_ExtId >, ACE_Equal_To< ACE_Configuration_ExtId >, ACE_Null_MutexSUBSECTION_HASH
 
typedef ACE_Hash_Map_With_Allocator< ACE_Configuration_ExtId, ACE_Configuration_Value_IntIdVALUE_MAP
 
typedef ACE_Hash_Map_Manager_Ex< ACE_Configuration_ExtId, ACE_Configuration_Value_IntId, ACE_Hash< ACE_Configuration_ExtId >, ACE_Equal_To< ACE_Configuration_ExtId >, ACE_Null_MutexVALUE_HASH
 
typedef VALUE_HASH::ENTRY VALUE_ENTRY
 
typedef ACE_Hash_Map_With_Allocator< ACE_Configuration_ExtId, ACE_Configuration_Section_IntIdSECTION_MAP
 
typedef ACE_Hash_Map_Manager_Ex< ACE_Configuration_ExtId, ACE_Configuration_Section_IntId, ACE_Hash< ACE_Configuration_ExtId >, ACE_Equal_To< ACE_Configuration_ExtId >, ACE_Null_MutexSECTION_HASH
 
typedef SECTION_HASH::ENTRY SECTION_ENTRY
 

Detailed Description

Author
Chris Hafey chafe.nosp@m.y@st.nosp@m.entor.nosp@m..com

The ACE configuration API provides a portable abstraction for program configuration similar to the Microsoft Windows registry. The API supports a tree based hierarchy of configuration sections. Each section contains other sections or values. Values may contain string, unsigned integer and binary data.

Note
These classes are not thread safe, if multiple threads use these classes, you are responsible for serializing access.

For examples of using this class, see:

  1. The test code in ACE_wrappers/test
  2. wxConfigViewer, a Windows like Registry Editor for ACE_Configuration
  3. TAO's IFR, it makes extensive use of ACE_Configuration
Todo:
Templatize this class with an ACE_LOCK to provide thread safety

Macro Definition Documentation

#define ACE_CONFIG_SECTION_INDEX   "Config_Section_Index"
#define ACE_DEFAULT_CONFIG_SECTION_SIZE   16

Typedef Documentation