Fawkes API
Fawkes Development Version
|
23 #include "sync_listener.h"
25 #include <blackboard/blackboard.h>
26 #include <logging/logger.h>
59 reader_bb_ = reader_bb;
60 writer_bb_ = writer_bb;
81 if (interface == writer_) {
86 reader_->msgq_enqueue(m);
87 message->set_id(m->
id());
92 logger_->log_error(bbil_name(),
"Message received for unknown interface");
96 logger_->log_error(bbil_name(),
"Exception when message received");
97 logger_->log_error(
"SyncInterfaceListener", e);
106 if (interface == reader_) {
109 writer_->copy_values(reader_);
113 logger_->log_error(bbil_name(),
"Data changed for unknown interface");
116 logger_->log_error(bbil_name(),
"Exception when data changed");
117 logger_->log_error(bbil_name(), e);
void unref()
Decrement reference count and conditionally delete this instance.
virtual bool bb_interface_message_received(fawkes::Interface *interface, fawkes::Message *message)
BlackBoard message received notification.
virtual ~SyncInterfaceListener()
Destructor.
virtual void register_listener(BlackBoardInterfaceListener *listener, ListenerRegisterFlag flag=BBIL_FLAG_ALL)
Register BB event listener.
virtual void bb_interface_data_changed(fawkes::Interface *interface)
BlackBoard data changed notification.
virtual void unregister_listener(BlackBoardInterfaceListener *listener)
Unregister BB interface listener.
void ref()
Increment reference count.
void bbil_add_message_interface(Interface *interface)
Add an interface to the message received watch list.
void set_hops(unsigned int hops)
Set number of hops.
virtual Message * clone() const
Clone this message.
unsigned int id() const
Get message ID.
SyncInterfaceListener(fawkes::Logger *logger, fawkes::Interface *reader, fawkes::Interface *writer, fawkes::BlackBoard *reader_bb, fawkes::BlackBoard *writer_bb)
Constructor.
void bbil_add_data_interface(Interface *interface)
Add an interface to the data modification watch list.