Apache Log4cxx  Version 1.4.0
Loading...
Searching...
No Matches
log4cxx::helpers::ThreadUtility Class Reference

#include <threadutility.h>

Public Types

using Period = std::chrono::milliseconds
 
using Manager = SingletonHolder< ThreadUtility >
 

Public Member Functions

 ~ThreadUtility ()
 
void configureFuncs (ThreadStartPre pre_start, ThreadStarted started, ThreadStartPost post_start)
 Configure the thread functions that log4cxx will use.
 
void preThreadBlockSignals ()
 A pre-start thread function that blocks signals to the new thread (if the system has pthreads).
 
void threadStartedNameThread (LogString threadName, std::thread::id thread_id, std::thread::native_handle_type native_handle)
 A thread_started function that names the thread using the appropriate system call.
 
void postThreadUnblockSignals ()
 A post-start thread function that unblocks signals that preThreadBlockSignals blocked before starting the thread.
 
template<class Function , class... Args>
std::thread createThread (LogString name, Function &&f, Args &&... args)
 Start a thread.
 
void addPeriodicTask (const LogString &taskName, std::function< void()> f, const Period &delay)
 Add the taskName periodic task.
 
bool hasPeriodicTask (const LogString &taskName)
 Has a taskName periodic task already been added?
 
void removeAllPeriodicTasks ()
 Remove all periodic tasks and stop the processing thread.
 
void removePeriodicTask (const LogString &taskName)
 Remove the taskName periodic task.
 
void removePeriodicTasksMatching (const LogString &namePrefix)
 Remove any periodic task matching namePrefix.
 
 LOG4CXX_PTR_DEF (Manager)
 

Static Public Member Functions

static ThreadUtilityinstance ()
 
static void configure (ThreadConfigurationType type)
 Utility method for configuring the ThreadUtility in a standard configuration.
 
static ManagerPtr instancePtr ()
 

Friends

class SingletonHolder< ThreadUtility >
 

Member Typedef Documentation

◆ Manager

◆ Period

using log4cxx::helpers::ThreadUtility::Period = std::chrono::milliseconds

Constructor & Destructor Documentation

◆ ~ThreadUtility()

log4cxx::helpers::ThreadUtility::~ThreadUtility ( )

Member Function Documentation

◆ addPeriodicTask()

void log4cxx::helpers::ThreadUtility::addPeriodicTask ( const LogString taskName,
std::function< void()>  f,
const Period delay 
)

Add the taskName periodic task.

◆ configure()

static void log4cxx::helpers::ThreadUtility::configure ( ThreadConfigurationType  type)
static

Utility method for configuring the ThreadUtility in a standard configuration.

◆ configureFuncs()

void log4cxx::helpers::ThreadUtility::configureFuncs ( ThreadStartPre  pre_start,
ThreadStarted  started,
ThreadStartPost  post_start 
)

Configure the thread functions that log4cxx will use.

Note that setting any of these parameters to nullptr is valid, and simply results in the callback not being called.

◆ createThread()

template<class Function , class... Args>
std::thread log4cxx::helpers::ThreadUtility::createThread ( LogString  name,
Function &&  f,
Args &&...  args 
)
inline

Start a thread.

◆ hasPeriodicTask()

bool log4cxx::helpers::ThreadUtility::hasPeriodicTask ( const LogString taskName)

Has a taskName periodic task already been added?

◆ instance()

static ThreadUtility * log4cxx::helpers::ThreadUtility::instance ( )
static

◆ instancePtr()

static ManagerPtr log4cxx::helpers::ThreadUtility::instancePtr ( )
static

◆ LOG4CXX_PTR_DEF()

log4cxx::helpers::ThreadUtility::LOG4CXX_PTR_DEF ( Manager  )

◆ postThreadUnblockSignals()

void log4cxx::helpers::ThreadUtility::postThreadUnblockSignals ( )

A post-start thread function that unblocks signals that preThreadBlockSignals blocked before starting the thread.

If the system does not have pthreads, does nothing.

◆ preThreadBlockSignals()

void log4cxx::helpers::ThreadUtility::preThreadBlockSignals ( )

A pre-start thread function that blocks signals to the new thread (if the system has pthreads).

If the system does not have pthreads, does nothing.

◆ removeAllPeriodicTasks()

void log4cxx::helpers::ThreadUtility::removeAllPeriodicTasks ( )

Remove all periodic tasks and stop the processing thread.

◆ removePeriodicTask()

void log4cxx::helpers::ThreadUtility::removePeriodicTask ( const LogString taskName)

Remove the taskName periodic task.

◆ removePeriodicTasksMatching()

void log4cxx::helpers::ThreadUtility::removePeriodicTasksMatching ( const LogString namePrefix)

Remove any periodic task matching namePrefix.

◆ threadStartedNameThread()

void log4cxx::helpers::ThreadUtility::threadStartedNameThread ( LogString  threadName,
std::thread::id  thread_id,
std::thread::native_handle_type  native_handle 
)

A thread_started function that names the thread using the appropriate system call.

Friends And Related Function Documentation

◆ SingletonHolder< ThreadUtility >

friend class SingletonHolder< ThreadUtility >
friend

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