log4cpp 1.1
Loading...
Searching...
No Matches
HierarchyMaintainer.hh
Go to the documentation of this file.
1/*
2 * HierarchyMaintainer.hh
3 *
4 * Copyright 2000, LifeLine Networks BV (www.lifeline.nl). All rights reserved.
5 * Copyright 2000, Bastiaan Bakker. All rights reserved.
6 *
7 * See the COPYING file for the terms of usage and distribution.
8 */
9
10#ifndef _LOG4CPP_HIERARCHYMAINTAINER_HH
11#define _LOG4CPP_HIERARCHYMAINTAINER_HH
12
14#include <string>
15#include <map>
16#include <vector>
17#include <log4cpp/Category.hh>
19
20namespace log4cpp {
21
28 friend class Log4cppCleanup;
29
30 public:
31 typedef std::map<std::string, Category*> CategoryMap;
32 typedef void (*shutdown_fun_ptr)();
33
35
37 virtual ~HierarchyMaintainer();
38 virtual Category* getExistingInstance(const std::string& name);
39 virtual Category& getInstance(const std::string& name);
40 virtual std::vector<Category*>* getCurrentCategories() const;
41 virtual void shutdown();
43 virtual void deleteAllCategories();
44
45 protected:
46 virtual Category* _getExistingInstance(const std::string& name);
47 virtual Category& _getInstance(const std::string& name);
50
51 private:
52 typedef std::vector<shutdown_fun_ptr> handlers_t;
53
54 static HierarchyMaintainer* _defaultMaintainer;
55 handlers_t handlers_;
56 };
57}
58
59#endif // _LOG4CPP_HIERARCHYMAINTAINER_HH
This is the central class in the log4j package.
Definition: Category.hh:33
HierarchyMaintainer is an internal log4cpp class.
Definition: HierarchyMaintainer.hh:27
void register_shutdown_handler(shutdown_fun_ptr handler)
Definition: HierarchyMaintainer.cpp:116
threading::Mutex _categoryMutex
Definition: HierarchyMaintainer.hh:49
virtual ~HierarchyMaintainer()
Definition: HierarchyMaintainer.cpp:34
CategoryMap _categoryMap
Definition: HierarchyMaintainer.hh:48
virtual std::vector< Category * > * getCurrentCategories() const
Definition: HierarchyMaintainer.cpp:84
virtual Category & getInstance(const std::string &name)
Definition: HierarchyMaintainer.cpp:55
std::map< std::string, Category * > CategoryMap
Definition: HierarchyMaintainer.hh:31
friend class Log4cppCleanup
Definition: HierarchyMaintainer.hh:28
HierarchyMaintainer()
Definition: HierarchyMaintainer.cpp:31
virtual Category & _getInstance(const std::string &name)
Definition: HierarchyMaintainer.cpp:61
void(* shutdown_fun_ptr)()
Definition: HierarchyMaintainer.hh:32
virtual void deleteAllCategories()
Definition: HierarchyMaintainer.cpp:121
virtual void shutdown()
Definition: HierarchyMaintainer.cpp:97
virtual Category * _getExistingInstance(const std::string &name)
Definition: HierarchyMaintainer.cpp:44
virtual Category * getExistingInstance(const std::string &name)
Definition: HierarchyMaintainer.cpp:39
static HierarchyMaintainer & getDefaultMaintainer()
Definition: HierarchyMaintainer.cpp:25
Definition: PThreads.hh:29
The top level namespace for all 'Log for C++' types and classes.
Definition: AbortAppender.hh:16