|
|
The dispatcher class is a hub that holds a list of handlers to be called for the messages that pass trough the hub. It can also handle a queue of messages that are typically dispatched by a separate thread.
MessageDispatcher ()
| MessageDispatcher |
Creates a new message dispatcher.
~MessageDispatcher ()
| ~MessageDispatcher |
Destroys the dispatcher and the installed handlers.
bool install (MessageHandler* handler)
| install |
Installs a handler in the dispatcher.
Parameters:
handler | A pointer to the handler to install |
Returns: True on success, false on failure
bool uninstall (MessageHandler* handler)
| uninstall |
Uninstalls a handler from the dispatcher.
Parameters:
handler | A pointer to the handler to uninstall |
Returns: True on success, false on failure
bool dispatch (Message& msg)
| dispatch |
Synchronously dispatch a message to the installed handlers
Parameters:
msg | The message to dispatch |
Returns: True if one handler accepted it, false if all ignored
bool enqueue (Message* msg)
| enqueue |
Put a message in the waiting queue for asynchronous dispatching
Parameters:
msg | The message to enqueue, will be destroyed after dispatching |
Returns: True if successfully queued, false otherwise
void dequeue ()
| dequeue |
Dispatch all messages from the waiting queue
bool dequeueOne ()
| dequeueOne |
Dispatch one message from the waiting queue
Returns: True if success, false if the queue is empty
inline void warnTime (u_int64_t usec)
| warnTime |
Set a limit to generate warning when a message took too long to dispatch
Parameters:
usec | Warning time limit in microseconds, zero to disable |
inline void clear ()
| clear |
Clear all the message handlers and post-dispatch hooks
unsigned int messageCount ()
| messageCount |
Get the number of messages waiting in the queue
Returns: Count of messages in the queue
unsigned int handlerCount ()
| handlerCount |
Get the number of handlers in this dispatcher
Returns: Count of handlers
void setHook (MessagePostHook* hook, bool remove = false)
| setHook |
Install or remove a hook to catch messages after being dispatched
Parameters:
hook | Pointer to a post-dispatching message hook |
remove | Set to True to remove the hook instead of adding |
Generated by: root on dragoshel on Sat Apr 14 01:50:50 2007, using kdoc 2.0a54. |