LibreOffice Module cppu (master) 1
Public Member Functions | Private Attributes | List of all members
cppu_threadpool::JobQueue Class Reference

#include <jobqueue.hxx>

Public Member Functions

 JobQueue ()
 
void add (void *pThreadSpecificData, RequestFun *doRequest)
 
void * enter (void const *nDisposeId, bool bReturnWhenNoJob=false)
 
void dispose (void const *nDisposeId)
 
void suspend ()
 
void resume ()
 
bool isEmpty () const
 
bool isCallstackEmpty () const
 
bool isBusy () const
 

Private Attributes

std::mutex m_mutex
 
std::deque< struct Jobm_lstJob
 
std::deque< void const * > m_lstCallstack
 
sal_Int32 m_nToDo
 
bool m_bSuspended
 
std::condition_variable m_cndWait
 
DisposedCallerAdminHolder m_DisposedCallerAdmin
 

Detailed Description

Definition at line 44 of file jobqueue.hxx.

Constructor & Destructor Documentation

◆ JobQueue()

cppu_threadpool::JobQueue::JobQueue ( )

Definition at line 29 of file jobqueue.cxx.

Member Function Documentation

◆ add()

void cppu_threadpool::JobQueue::add ( void *  pThreadSpecificData,
RequestFun doRequest 
)

Definition at line 36 of file jobqueue.cxx.

References m_bSuspended, m_cndWait, m_lstJob, m_mutex, and m_nToDo.

Referenced by cppu_threadpool::ThreadPool::addJob().

◆ dispose()

void cppu_threadpool::JobQueue::dispose ( void const *  nDisposeId)

Definition at line 122 of file jobqueue.cxx.

References m_cndWait, m_lstCallstack, and m_mutex.

◆ enter()

void * cppu_threadpool::JobQueue::enter ( void const *  nDisposeId,
bool  bReturnWhenNoJob = false 
)

◆ isBusy()

bool cppu_threadpool::JobQueue::isBusy ( ) const

Definition at line 168 of file jobqueue.cxx.

References m_mutex, and m_nToDo.

◆ isCallstackEmpty()

bool cppu_threadpool::JobQueue::isCallstackEmpty ( ) const

Definition at line 162 of file jobqueue.cxx.

References m_lstCallstack, and m_mutex.

Referenced by cppu_threadpool::ThreadPool::enter().

◆ isEmpty()

bool cppu_threadpool::JobQueue::isEmpty ( ) const

Definition at line 156 of file jobqueue.cxx.

References m_lstJob, and m_mutex.

Referenced by cppu_threadpool::ORequestThread::run().

◆ resume()

void cppu_threadpool::JobQueue::resume ( )

Definition at line 146 of file jobqueue.cxx.

References m_bSuspended, m_cndWait, m_lstJob, and m_mutex.

◆ suspend()

void cppu_threadpool::JobQueue::suspend ( )

Definition at line 140 of file jobqueue.cxx.

References m_bSuspended, and m_mutex.

Referenced by cppu_threadpool::ThreadPool::addJob().

Member Data Documentation

◆ m_bSuspended

bool cppu_threadpool::JobQueue::m_bSuspended
private

Definition at line 66 of file jobqueue.hxx.

Referenced by add(), enter(), resume(), and suspend().

◆ m_cndWait

std::condition_variable cppu_threadpool::JobQueue::m_cndWait
private

Definition at line 67 of file jobqueue.hxx.

Referenced by add(), dispose(), enter(), and resume().

◆ m_DisposedCallerAdmin

DisposedCallerAdminHolder cppu_threadpool::JobQueue::m_DisposedCallerAdmin
private

Definition at line 68 of file jobqueue.hxx.

Referenced by enter().

◆ m_lstCallstack

std::deque<void const *> cppu_threadpool::JobQueue::m_lstCallstack
private

Definition at line 64 of file jobqueue.hxx.

Referenced by dispose(), enter(), and isCallstackEmpty().

◆ m_lstJob

std::deque< struct Job > cppu_threadpool::JobQueue::m_lstJob
private

Definition at line 63 of file jobqueue.hxx.

Referenced by add(), enter(), isEmpty(), and resume().

◆ m_mutex

std::mutex cppu_threadpool::JobQueue::m_mutex
mutableprivate

Definition at line 62 of file jobqueue.hxx.

Referenced by add(), dispose(), enter(), isBusy(), isCallstackEmpty(), isEmpty(), resume(), and suspend().

◆ m_nToDo

sal_Int32 cppu_threadpool::JobQueue::m_nToDo
private

Definition at line 65 of file jobqueue.hxx.

Referenced by add(), enter(), and isBusy().


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