24 #ifndef __BLACKBOARD_INTERFACE_PROXY_H 25 #define __BLACKBOARD_INTERFACE_PROXY_H_ 27 #include <interface/mediators/interface_mediator.h> 28 #include <interface/mediators/message_mediator.h> 33 class FawkesNetworkClient;
34 class FawkesNetworkMessage;
36 class BlackBoardNotifier;
56 unsigned int serial()
const;
57 unsigned int clid()
const;
69 inline unsigned int next_msg_id()
71 return ((__instance_serial << 16) | __next_msg_id++);
85 unsigned short __instance_serial;
86 unsigned short __next_msg_id;
87 unsigned int __num_readers;
Base class for all messages passed through interfaces in Fawkes BlackBoard.
void writer_removed(unsigned int event_serial)
Writer has been removed.
virtual unsigned int num_readers(const Interface *interface) const
Get number of readers.
Simple Fawkes network client.
Fawkes library namespace.
void process_interface_message(FawkesNetworkMessage *msg)
Process MSG_BB_INTERFACE message.
unsigned int serial() const
Get instance serial of interface.
Representation of a message that is sent over the network.
virtual void notify_of_data_change(const Interface *interface)
Notify of data change.
Interface * interface() const
Get instance serial of interface.
Base class for all Fawkes BlackBoard interfaces.
Interface proxy for remote BlackBoard.
void reader_removed(unsigned int event_serial)
Reader has been removed.
Read/write lock with reference counting.
unsigned int clid() const
Get client ID of assigned client.
void writer_added(unsigned int event_serial)
Writer has been added.
void reader_added(unsigned int event_serial)
Reader has been added.
~BlackBoardInterfaceProxy()
Destructor.
virtual bool exists_writer(const Interface *interface) const
Check if a writer exists for the given interface.
virtual void transmit(Message *message)
Transmit message.
void process_data_changed(FawkesNetworkMessage *msg)
Process MSG_BB_DATA_CHANGED message.
BlackBoardInterfaceProxy(FawkesNetworkClient *client, FawkesNetworkMessage *msg, BlackBoardNotifier *notifier, Interface *interface, bool readwrite)
Constructor.