MeVisLab Toolbox Reference
|
#include <mlBackgroundTaskMessageQueue.h>
Public Member Functions | |
BackgroundTaskMessageQueue () | |
~BackgroundTaskMessageQueue () | |
BackgroundTaskMessage * | waitForMessage () |
wait for the next message (the returned message is owned by the user and needs to be deleted by the user) the message can be NULL, when the task was canceled (should be only called in worker thread) (threadsafe) | |
void | addMessage (BackgroundTaskMessage *message) |
put the message into the queue, pass ownership to the queue (do not delete the message!) (threadsafe) | |
BackgroundTaskMessage * | nextMessage () |
Returns the next message without blocking, returns NULL if no message was available. | |
BackgroundTaskMessage * | nextMessage (int &availableMessages) |
Returns the next message and the number of available messages (including the returned message) without blocking, returns NULL if no message was available. | |
BackgroundTaskMessage * | nextMessageNoLock () |
Returns the next message without locking the queue (ONLY use for synchronous case!). | |
void | removeMessagesForReceiver (BackgroundTaskMessageReceiver *receiver) |
Remove all messages for the given receiver. | |
bool | isCanceled () const |
Returns if the queue has been canceled. | |
void | cancel () |
Sets that the queue is canceled. | |
void | cancelAndNotify () |
Sets that the queue is canceled and notifies it if it is waiting for new messages. | |
Definition at line 32 of file mlBackgroundTaskMessageQueue.h.
ml::BackgroundTaskMessageQueue::BackgroundTaskMessageQueue | ( | ) |
ml::BackgroundTaskMessageQueue::~BackgroundTaskMessageQueue | ( | ) |
void ml::BackgroundTaskMessageQueue::addMessage | ( | BackgroundTaskMessage * | message | ) |
put the message into the queue, pass ownership to the queue (do not delete the message!) (threadsafe)
void ml::BackgroundTaskMessageQueue::cancel | ( | ) |
Sets that the queue is canceled.
void ml::BackgroundTaskMessageQueue::cancelAndNotify | ( | ) |
Sets that the queue is canceled and notifies it if it is waiting for new messages.
|
inline |
Returns if the queue has been canceled.
Definition at line 69 of file mlBackgroundTaskMessageQueue.h.
BackgroundTaskMessage * ml::BackgroundTaskMessageQueue::nextMessage | ( | ) |
Returns the next message without blocking, returns NULL if no message was available.
(the returned message is owned by the user and needs to be deleted by the user) (threadsafe)
BackgroundTaskMessage * ml::BackgroundTaskMessageQueue::nextMessage | ( | int & | availableMessages | ) |
Returns the next message and the number of available messages (including the returned message) without blocking, returns NULL if no message was available.
(the returned message is owned by the user and needs to be deleted by the user) (threadsafe)
BackgroundTaskMessage * ml::BackgroundTaskMessageQueue::nextMessageNoLock | ( | ) |
Returns the next message without locking the queue (ONLY use for synchronous case!).
(the returned message is owned by the user and needs to be deleted by the user) (NOT threadsafe)
void ml::BackgroundTaskMessageQueue::removeMessagesForReceiver | ( | BackgroundTaskMessageReceiver * | receiver | ) |
Remove all messages for the given receiver.
(threadsafe)
BackgroundTaskMessage * ml::BackgroundTaskMessageQueue::waitForMessage | ( | ) |
wait for the next message (the returned message is owned by the user and needs to be deleted by the user) the message can be NULL, when the task was canceled (should be only called in worker thread) (threadsafe)