5#include <helper/obj-ref-impl.hpp>
6#include <interface/SMsgLoop-i.h>
11class SMessageLoopPriv;
71 STDMETHOD_(BOOL,
OnIdle)(THIS_
int nIdleCount) OVERRIDE;
77 STDMETHOD_(
int,
Run)(THIS) OVERRIDE;
83 STDMETHOD_(BOOL,
IsRunning)(THIS)
const OVERRIDE;
89 STDMETHOD_(
void,
OnMsg)(THIS_ LPMSG pMsg) OVERRIDE;
95 STDMETHOD_(
void,
Quit)(THIS_
int exitCode) OVERRIDE;
102 STDMETHOD_(BOOL,
PostTask)(THIS_ IRunnable *runable) OVERRIDE;
124 STDMETHOD_(BOOL,
PeekMsg)(THIS_ LPMSG pMsg, UINT wMsgFilterMin, UINT wMsgFilterMax, BOOL bRemove) OVERRIDE;
130 STDMETHOD_(BOOL,
WaitMsg)(THIS) OVERRIDE;
136 STDMETHOD_(
int,
HandleMsg)(THIS) OVERRIDE;
169 SMessageLoopPriv *m_priv;
Wrapper class for a critical section.
BOOL PostTask(IRunnable *runable) OVERRIDE
Posts a task to the message loop.
int HandleMsg() OVERRIDE
Handles a message from the message queue.
static BOOL IsIdleMessage(MSG *pMsg)
Checks if a message is an idle message.
BOOL PeekMsg(LPMSG pMsg, UINT wMsgFilterMin, UINT wMsgFilterMax, BOOL bRemove) OVERRIDE
Peeks at a message in the message queue without removing it.
void ExecutePendingTask() OVERRIDE
Executes all pending tasks.
void OnMsg(LPMSG pMsg) OVERRIDE
Processes a single message.
BOOL RemoveMessageFilter(IMsgFilter *pMessageFilter) OVERRIDE
Removes a message filter from the message loop.
BOOL PreTranslateMessage(MSG *pMsg) OVERRIDE
Pre-translates a message before it is dispatched.
BOOL RemoveIdleHandler(IIdleHandler *pIdleHandler) OVERRIDE
Removes an idle handler from the message loop.
BOOL OnIdle(int nIdleCount) OVERRIDE
Handles idle processing.
void RunIdle()
Runs idle processing.
int Run() OVERRIDE
Runs the message loop.
BOOL AddIdleHandler(IIdleHandler *pIdleHandler) OVERRIDE
Adds an idle handler to the message loop.
BOOL IsRunning() const OVERRIDE
Checks if the message loop is running.
BOOL AddMessageFilter(IMsgFilter *pMessageFilter) OVERRIDE
Adds a message filter to the message loop.
BOOL WaitMsg() OVERRIDE
Waits for a message in the message queue.
int RemoveTasksForObject(void *pObj) OVERRIDE
Removes all tasks associated with a specific object.
void Quit(int exitCode) OVERRIDE
Quits the message loop.
SMessageLoop(IMessageLoop *pParentLoop)
Constructor for SMessageLoop.
Interface for handling idle time.
Interface for message loops.
Interface for message filtering.