Fawkes API
Fawkes Development Version
|
Message queue used in interfaces. More...
#include <>>
Classes | |
class | MessageIterator |
Message iterator. More... | |
Public Member Functions | |
MessageQueue () | |
Constructor. More... | |
virtual | ~MessageQueue () |
Destructor. More... | |
void | append (Message *msg) |
Append message to queue. More... | |
void | remove (const Message *msg) |
Remove message from queue. More... | |
void | remove (const unsigned int msg_id) |
Remove message from queue by message id. More... | |
void | insert_after (const MessageIterator &it, Message *msg) |
Enqueue message after given iterator. More... | |
unsigned int | size () const |
Get number of messages in queue. More... | |
void | flush () |
Delete all messages from queue. More... | |
bool | empty () const |
Check if message queue is empty. More... | |
void | lock () |
Lock message queue. More... | |
bool | try_lock () |
Try to lock message queue. More... | |
void | unlock () |
Unlock message queue. More... | |
Message * | first () |
Get first message from queue. More... | |
void | pop () |
Erase first message from queue. More... | |
MessageIterator | begin () |
Get iterator to first element in message queue. More... | |
MessageIterator | end () |
Get iterator to element beyond end of message queue list. More... | |
Message queue used in interfaces.
This message queue handles the basic messaging operations. The methods the Interface provides for handling message queues are forwarded to a MessageQueue instance.
Definition at line 42 of file message_queue.h.
fawkes::MessageQueue::MessageQueue | ( | ) |
Constructor.
Definition at line 61 of file message_queue.cpp.
|
virtual |
Destructor.
Definition at line 70 of file message_queue.cpp.
void fawkes::MessageQueue::append | ( | Message * | msg | ) |
Append message to queue.
msg | Message to append |
MessageAlreadyQueuedException | thrown if the message has already been enqueued to an interface. |
Definition at line 104 of file message_queue.cpp.
References fawkes::Message::enqueued(), fawkes::Message::id(), fawkes::Message::mark_enqueued(), and fawkes::MessageAlreadyQueuedException::MessageAlreadyQueuedException().
MessageQueue::MessageIterator fawkes::MessageQueue::begin | ( | ) |
Get iterator to first element in message queue.
NotLockedException | thrown if message queue is not locked during this operation. |
Definition at line 330 of file message_queue.cpp.
bool fawkes::MessageQueue::empty | ( | ) | const |
Check if message queue is empty.
Definition at line 253 of file message_queue.cpp.
MessageQueue::MessageIterator fawkes::MessageQueue::end | ( | ) |
Get iterator to element beyond end of message queue list.
NotLockedException | thrown if message queue is not locked during this operation. |
Definition at line 345 of file message_queue.cpp.
References fawkes::MessageQueue::MessageIterator::MessageIterator().
Message * fawkes::MessageQueue::first | ( | ) |
Get first message from queue.
Definition at line 302 of file message_queue.cpp.
void fawkes::MessageQueue::flush | ( | ) |
Delete all messages from queue.
This method deletes all messages from the queue.
Definition at line 81 of file message_queue.cpp.
void fawkes::MessageQueue::insert_after | ( | const MessageIterator & | it, |
Message * | msg | ||
) |
Enqueue message after given iterator.
it | Iterator |
msg | Message to enqueue |
NullPointerException | thrown if iterator is end iterator. |
NotLockedException | thrown if message queue is not locked during this operation. |
MessageAlreadyQueuedException | thrown if the message has already been enqueued to an interface. |
Definition at line 140 of file message_queue.cpp.
References fawkes::Message::enqueued(), fawkes::Message::id(), fawkes::Message::mark_enqueued(), and fawkes::MessageAlreadyQueuedException::MessageAlreadyQueuedException().
void fawkes::MessageQueue::lock | ( | ) |
Lock message queue.
No operations can be performed on the message queue after locking it. Note that you cannot call any method of the message queue as long as the queue is locked. Use lock() only to have a secure run-through with the MessageIterator.
Definition at line 269 of file message_queue.cpp.
void fawkes::MessageQueue::pop | ( | ) |
Erase first message from queue.
Definition at line 315 of file message_queue.cpp.
void fawkes::MessageQueue::remove | ( | const Message * | msg | ) |
Remove message from queue.
msg | message to remove |
Definition at line 168 of file message_queue.cpp.
Referenced by remove().
void fawkes::MessageQueue::remove | ( | const unsigned int | msg_id | ) |
Remove message from queue by message id.
msg_id | id of message to remove |
Definition at line 190 of file message_queue.cpp.
References remove().
unsigned int fawkes::MessageQueue::size | ( | ) | const |
Get number of messages in queue.
Definition at line 234 of file message_queue.cpp.
bool fawkes::MessageQueue::try_lock | ( | ) |
Try to lock message queue.
No operations can be performed on the message queue after locking it. Note that you cannot call any method of the message queue as long as the queue is locked. Use try_lock() only to have a secure run-through with the MessageIterator.
Definition at line 283 of file message_queue.cpp.
void fawkes::MessageQueue::unlock | ( | ) |
Unlock message queue.
Definition at line 292 of file message_queue.cpp.