24 #ifndef __INTERFACE_MESSAGE_QUEUE_H_ 25 #define __INTERFACE_MESSAGE_QUEUE_H_ 27 #include <core/exception.h> 28 #include <core/exceptions/software.h> 76 unsigned int id()
const;
78 template <
class MessageType>
81 template <
class MessageType>
82 MessageType *
get()
const;
90 void remove(
const Message *msg);
91 void remove(
const unsigned int msg_id);
94 unsigned int size()
const;
110 void remove(msg_list_t *l, msg_list_t *p);
113 msg_list_t *__end_el;
123 template <
class MessageType>
127 MessageType *msg =
dynamic_cast<MessageType *
>(cur->msg);
138 template <
class MessageType>
142 MessageType *msg =
dynamic_cast<MessageType *
>(cur->msg);
Base class for all messages passed through interfaces in Fawkes BlackBoard.
Message already enqueued exception.
Fawkes library namespace.
MessageType * get() const
Get current message of given type.
MessageAlreadyQueuedException()
Constructor.
iterator end()
Get end iterator for messages.
Base class for exceptions in Fawkes.
Message queue used in interfaces.
iterator begin()
Get iterator for messages.
bool is() const
Check if message is of given type.
Exception & operator=(const Exception &exc)
Assign an Exception.
Mutex mutual exclusion lock.
void append(const char *format,...)
Append messages to the message list.