Fawkes API
Fawkes Development Version
|
#include <>>
Classes | |
class | MessageIterator |
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 47 of file message_queue.h.
fawkes::MessageQueue::MessageQueue | ( | ) |
|
virtual |
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 102 of file message_queue.cpp.
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 316 of file message_queue.cpp.
bool fawkes::MessageQueue::empty | ( | ) | const |
Check if message queue is empty.
Definition at line 245 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 330 of file message_queue.cpp.
Message * fawkes::MessageQueue::first | ( | ) |
Get first message from queue.
Definition at line 290 of file message_queue.cpp.
Referenced by fawkes::Interface::msgq_first(), and fawkes::Interface::msgq_first_is().
void fawkes::MessageQueue::flush | ( | ) |
Delete all messages from queue.
This method deletes all messages from the queue.
Definition at line 80 of file message_queue.cpp.
Referenced by MessageQueue().
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 137 of file message_queue.cpp.
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 260 of file message_queue.cpp.
References fawkes::Mutex::try_lock().
void fawkes::MessageQueue::pop | ( | ) |
Erase first message from queue.
Definition at line 302 of file message_queue.cpp.
void fawkes::MessageQueue::remove | ( | const Message * | msg | ) |
Remove message from queue.
msg | message to remove |
Definition at line 164 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 185 of file message_queue.cpp.
References remove().
unsigned int fawkes::MessageQueue::size | ( | ) | const |
Get number of messages in queue.
Definition at line 227 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 273 of file message_queue.cpp.
References fawkes::Mutex::unlock().
void fawkes::MessageQueue::unlock | ( | ) |
Unlock message queue.
Definition at line 281 of file message_queue.cpp.