|
|
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 Fri Aug 24 11:49:48 2007, using kdoc 2.0a54. |