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 ) {
virtual Message * clone() const
Clone this message.
Base class for all messages passed through interfaces in Fawkes BlackBoard.
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.
unsigned int id() const
Get message ID.
Base class for all Fawkes BlackBoard interfaces.
const char * bbil_name() const
Get BBIL name.
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.
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.
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.