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;
83 if ( interface == __writer ) {
88 __reader->msgq_enqueue(m);
89 message->set_id(m->
id());
94 __logger->log_error(bbil_name(),
"Message received for unknown interface");
98 __logger->log_error(bbil_name(),
"Exception when message received");
99 __logger->log_error(
"SyncInterfaceListener", e);
109 if ( interface == __reader ) {
112 __writer->copy_values(__reader);
116 __logger->log_error(bbil_name(),
"Data changed for unknown interface");
119 __logger->log_error(bbil_name(),
"Exception when data changed");
120 __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.