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.
MessageAlreadyQueuedException()
Constructor.
iterator end()
Get end iterator for messages.
MessageType * get() const
Get current message of given type.
Base class for exceptions in Fawkes.
Message queue used in interfaces.
bool is() const
Check if message is of given type.
iterator begin()
Get iterator for messages.
Exception & operator=(const Exception &exc)
Assign an Exception.
Mutex mutual exclusion lock.
void append(const char *format,...)
Append messages to the message list.