# 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 dependency graph for Configuration.h:

This graph shows which files directly or indirectly include this file:

## 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...

## Defines

#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_Mutex > | SUBSECTION_HASH
typedef SUBSECTION_HASH::ENTRY | SUBSECTION_ENTRY
typedef ACE_Hash_Map_With_Allocator< ACE_Configuration_ExtId, ACE_Configuration_Value_IntId > | VALUE_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_Mutex > | VALUE_HASH
typedef VALUE_HASH::ENTRY | VALUE_ENTRY
typedef ACE_Hash_Map_With_Allocator< ACE_Configuration_ExtId, ACE_Configuration_Section_IntId > | SECTION_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_Mutex > | SECTION_HASH
typedef SECTION_HASH::ENTRY | SECTION_ENTRY

## Detailed Description

Id
  Configuration.h,v 4.57 2006/01/25 19:50:47 jwillemsen Exp

Author:
  Chris Hafey <chafey@stentor.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

## Define Documentation

#define ACE_CONFIG_SECTION_INDEX "Config_Section_Index"

#define ACE_DEFAULT_CONFIG_SECTION_SIZE 16

## Typedef Documentation

typedef ACE_Allocator_Adapter<ACE_Malloc <ACE_LOCAL_MEMORY_POOL, ACE_SYNCH_MUTEX> > HEAP_ALLOCATOR

typedef ACE_Allocator_Adapter<ACE_Malloc <ACE_MMAP_MEMORY_POOL, ACE_SYNCH_MUTEX> > PERSISTENT_ALLOCATOR

typedef SECTION_HASH::ENTRY SECTION_ENTRY

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_Mutex> SECTION_HASH

typedef ACE_Hash_Map_With_Allocator<ACE_Configuration_ExtId, ACE_Configuration_Section_IntId> SECTION_MAP

typedef SUBSECTION_HASH::ENTRY SUBSECTION_ENTRY

Deprecated:
  Deprecated typedef. Use the SUBSECTION_HASH::ENTRY trait instead.

typedef ACE_Hash_Map_Manager_Ex<ACE_Configuration_ExtId, int, ACE_Hash<ACE_Configuration_ExtId>, ACE_Equal_To<ACE_Configuration_ExtId>, ACE_Null_Mutex> SUBSECTION_HASH

typedef ACE_Hash_Map_With_Allocator<ACE_Configuration_ExtId, int> SUBSECTION_MAP

typedef VALUE_HASH::ENTRY VALUE_ENTRY

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_Mutex> VALUE_HASH

typedef ACE_Hash_Map_With_Allocator<ACE_Configuration_ExtId, ACE_Configuration_Value_IntId> VALUE_MAP