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 ) {
89 message->set_id(m->
id());
99 __logger->
log_error(
"SyncInterfaceListener", e);
109 if ( interface == __reader ) {
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.
void write()
Write from local copy into BlackBoard memory.
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 read()
Read from BlackBoard into local copy.
void ref()
Increment reference count.
virtual void log_error(const char *component, const char *format,...)=0
Log error message.
unsigned int msgq_enqueue(Message *message)
Enqueue message at end of queue.
virtual bool bb_interface_message_received(fawkes::Interface *interface, fawkes::Message *message)
BlackBoard message received notification.
const char * bbil_name() const
Get BBIL name.
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 void copy_values(const Interface *interface)=0
Copy values from another interface.
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.