/usr/include/log4cpp/HierarchyMaintainer.hh is in liblog4cpp5-dev 1.0-4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | /*
* HierarchyMaintainer.hh
*
* Copyright 2000, LifeLine Networks BV (www.lifeline.nl). All rights reserved.
* Copyright 2000, Bastiaan Bakker. All rights reserved.
*
* See the COPYING file for the terms of usage and distribution.
*/
#ifndef _LOG4CPP_HIERARCHYMAINTAINER_HH
#define _LOG4CPP_HIERARCHYMAINTAINER_HH
#include <log4cpp/Portability.hh>
#include <string>
#include <map>
#include <vector>
#include <log4cpp/Category.hh>
#include <log4cpp/threading/Threading.hh>
namespace log4cpp {
/**
* HierarchyMaintainer is an internal log4cpp class. It is responsible
* for maintaining the hierarchy of Categories. Applications should
* not have to use this class directly.
**/
class HierarchyMaintainer {
friend class Log4cppCleanup;
public:
typedef std::map<std::string, Category*> CategoryMap;
typedef void (*shutdown_fun_ptr)();
static HierarchyMaintainer& getDefaultMaintainer();
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();
protected:
virtual Category* _getExistingInstance(const std::string& name);
virtual Category& _getInstance(const std::string& name);
CategoryMap _categoryMap;
mutable threading::Mutex _categoryMutex;
private:
typedef std::vector<shutdown_fun_ptr> handlers_t;
static HierarchyMaintainer* _defaultMaintainer;
handlers_t handlers_;
};
}
#endif // _LOG4CPP_HIERARCHYMAINTAINER_HH
|