18#ifndef _LOG4CXX_HELPERS_APRINITIALIZER_H
19#define _LOG4CXX_HELPERS_APRINITIALIZER_H
22 #error "aprinitializer.h should only be included by log4cxx implementation"
31 struct apr_threadkey_t;
47#if LOG4CXX_ABI_VERSION <= 15
66 template <
class T>
static void setUnique(
const std::shared_ptr<T>& pObject)
68 getInstance().addObject(
typeid(T).hash_code(), pObject);
75 return cast<T>(getInstance().findOrAddObject(
typeid(T).hash_code(), creator));
85 void addObject(
size_t key,
const ObjectPtr& pObject);
Definition: aprinitializer.h:45
static void unregisterAll()
static apr_threadkey_t * getTlsKey()
static std::shared_ptr< T > getOrAddUnique(std::function< ObjectPtr()> creator)
Fetch or add a single instance type ObjectPtr for deletion prior to termination.
Definition: aprinitializer.h:73
static void registerCleanup(FileWatchdog *watchdog)
Register a FileWatchdog for deletion prior to termination.
static log4cxx_time_t getStartTime()
static log4cxx_time_t initialize()
static apr_pool_t * getRootPool()
static void setUnique(const std::shared_ptr< T > &pObject)
Store a single instance type ObjectPtr for deletion prior to termination.
Definition: aprinitializer.h:66
static bool isDestructed
Definition: aprinitializer.h:53
static void unregisterCleanup(FileWatchdog *watchdog)
Check every now and then that a certain file has not changed.
Definition: filewatchdog.h:39
The WideLife wrapper is destined to prolongate the runtime logger state lifetime from static duration...
Definition: widelife.h:37
#define LOG4CXX_DECLARE_PRIVATE_MEMBER_PTR(T, V)
Definition: log4cxx.h:85
#define LOG4CXX_NS
Definition: log4cxx.h:104
std::shared_ptr< Object > ObjectPtr
Definition: optionconverter.h:41
int64_t log4cxx_time_t
log4cxx_time_t - holds the number of microseconds since 1970-01-01
Definition: log4cxx.h:111