# log4cpp::HierarchyMaintainer Class Reference

HierarchyMaintainer is an internal log4cpp class. More...

`#include <HierarchyMaintainer.hh>`

Collaboration diagram for log4cpp::HierarchyMaintainer:

[legend]
List of all members.

## Public Types

typedef std::map< std::string, Category * > | CategoryMap
typedef void(*) | shutdown_fun_ptr ()

## Public Member Functions

| HierarchyMaintainer ()
virtual | ~HierarchyMaintainer ()
virtual Category * | getExistingInstance (const std::string &name)
virtual Category & | getInstance (const std::string &name)
virtual std::vector< Category * > * | getCurrentCategories () const
virtual void | shutdown ()
void | register_shutdown_handler (shutdown_fun_ptr handler)
virtual void | deleteAllCategories ()

## Static Public Member Functions

static HierarchyMaintainer & | getDefaultMaintainer ()

## Protected Member Functions

virtual Category * | _getExistingInstance (const std::string &name)
virtual Category & | _getInstance (const std::string &name)

## Protected Attributes

CategoryMap | _categoryMap
threading::Mutex | _categoryMutex

## Friends

class | Log4cppCleanup

## Detailed Description

HierarchyMaintainer is an internal log4cpp class.

It is responsible for maintaining the hierarchy of Categories. Applications should not have to use this class directly.

## Member Typedef Documentation

typedef std::map<std::string, Category*> log4cpp::HierarchyMaintainer::CategoryMap

typedef void(*) log4cpp::HierarchyMaintainer::shutdown_fun_ptr()

## Constructor & Destructor Documentation

log4cpp::HierarchyMaintainer::HierarchyMaintainer | ( |  | ) |

log4cpp::HierarchyMaintainer::~HierarchyMaintainer | ( |  | ) | `[virtual]`

## Member Function Documentation

HierarchyMaintainer & log4cpp::HierarchyMaintainer::getDefaultMaintainer | ( |  | ) | `[static]`

Category * log4cpp::HierarchyMaintainer::getExistingInstance | ( | const std::string & | name | ) | `[virtual]`

Category & log4cpp::HierarchyMaintainer::getInstance | ( | const std::string & | name | ) | `[virtual]`

std::vector< Category * > * log4cpp::HierarchyMaintainer::getCurrentCategories | ( |  | ) | const`[virtual]`

void log4cpp::HierarchyMaintainer::shutdown | ( |  | ) | `[virtual]`

void log4cpp::HierarchyMaintainer::register_shutdown_handler | ( | shutdown_fun_ptr | handler | ) |

void log4cpp::HierarchyMaintainer::deleteAllCategories | ( |  | ) | `[virtual]`

Category * log4cpp::HierarchyMaintainer::_getExistingInstance | ( | const std::string & | name | ) | `[protected, virtual]`

Category & log4cpp::HierarchyMaintainer::_getInstance | ( | const std::string & | name | ) | `[protected, virtual]`

## Friends And Related Function Documentation

friend class Log4cppCleanup`[friend]`

## Member Data Documentation

CategoryMap log4cpp::HierarchyMaintainer::_categoryMap`[protected]`

threading::Mutex log4cpp::HierarchyMaintainer::_categoryMutex`[mutable, protected]`

The documentation for this class was generated from the following files:

- HierarchyMaintainer.hh
- HierarchyMaintainer.cpp