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;
71 inline unsigned int next_msg_id()
73 return ((__instance_serial << 16) | __next_msg_id++);
87 unsigned short __instance_serial;
88 unsigned short __next_msg_id;
89 unsigned int __num_readers;
unsigned int clid() const
Get client ID of assigned client.
Base class for all messages passed through interfaces in Fawkes BlackBoard.
void writer_removed(unsigned int event_serial)
Writer has been removed.
virtual std::string writer(const Interface *interface) const
Get writer of interface.
Simple Fawkes network client.
Fawkes library namespace.
virtual bool exists_writer(const Interface *interface) const
Check if a writer exists for the given interface.
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 unsigned int num_readers(const Interface *interface) const
Get number of readers.
virtual void notify_of_data_change(const Interface *interface)
Notify of data change.
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.
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 std::list< std::string > readers(const Interface *interface) const
Get owners of interfaces who opened for reading.
Interface * interface() const
Get instance serial of 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.