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);
Base class for all messages passed through interfaces in Fawkes BlackBoard.
unsigned int id() const
Get message ID.
void unref()
Decrement reference count and conditionally delete this instance.
Fawkes library namespace.
virtual ~SyncInterfaceListener()
Destructor.
virtual void bb_interface_data_changed(fawkes::Interface *interface)
BlackBoard data changed notification.
virtual void unregister_listener(BlackBoardInterfaceListener *listener)
Unregister BB interface listener.
Base class for all Fawkes BlackBoard interfaces.
virtual void register_listener(BlackBoardInterfaceListener *listener, ListenerRegisterFlag flag=BBIL_FLAG_ALL)
Register BB event listener.
Base class for exceptions in Fawkes.
void ref()
Increment reference count.
virtual bool bb_interface_message_received(fawkes::Interface *interface, fawkes::Message *message)
BlackBoard message received notification.
The BlackBoard abstract class.
void set_hops(unsigned int hops)
Set number of hops.
void bbil_add_message_interface(Interface *interface)
Add an interface to the message received watch list.
virtual Message * clone() const
Clone this message.
BlackBoard interface listener.
void bbil_add_data_interface(Interface *interface)
Add an interface to the data modification watch list.
SyncInterfaceListener(fawkes::Logger *logger, fawkes::Interface *reader, fawkes::Interface *writer, fawkes::BlackBoard *reader_bb, fawkes::BlackBoard *writer_bb)
Constructor.