20#if defined(BI_MULTI_THREAD_RTL)
31 BreakMessageLoop(
false),
37#if defined(BI_MULTI_THREAD_RTL)
46 BreakMessageLoop(
false),
191 TRACEX(
MsgThreads, 1,
"TMsgThread::InitInstance() called @" << (
void*)
this);
204 TRACEX(
MsgThreads, 1,
"TMsgThread::TermInstance() called @" << (
void*)
this);
#define TRACEX(group, level, message)
#define DIAG_DEFINE_GROUP_INIT(f, g, e, l)
TMsgThread implements basic behavior for threads that own message queues, including mutex locking for...
virtual bool IdleAction(long idleCount)
Called each time there are no messages in the queue.
virtual int Run()
Runs this message thread, returns when the message queue quits.
bool BreakMessageLoop
Message loop is broken via WM_QUIT.
virtual void InitInstance()
Handles initialization for each executing instance of the message thread.
virtual int TermInstance(int status)
Handles termination for each executing instance of the message thread.
bool LoopRunning
Track if the loop is running.
virtual int MessageLoop()
Retrieves and processes messages from the thread's message queue using PumpWaitingMessages() until Br...
virtual bool ProcessMsg(MSG &msg)
Called for each message that is pulled from the queue, to perform all translation and dispatching.
int MessageLoopResult
Return value from message loop.
void FlushQueue()
Flushes all real messages from the message queue.
TMsgThread(TCurrent)
Attaches to the current running thread.
bool PumpWaitingMessages()
The inner message loop.
TThread provides a system-independent interface to threads.
Definition of message queue oriented thread class support.
Object Windows Library (OWLNext Core)