23 #ifndef __BLACKBOARD_REMOTE_H_ 24 #define __BLACKBOARD_REMOTE_H_ 26 #include <blackboard/blackboard.h> 27 #include <netcomm/fawkes/client_handler.h> 28 #include <core/utils/lock_map.h> 29 #include <core/exceptions/software.h> 35 class FawkesNetworkClient;
36 class FawkesNetworkMessage;
40 class InterfaceInfoList;
42 class BlackBoardInstanceFactory;
43 class BlackBoardNotifier;
44 class BlackBoardInterfaceProxy;
45 class BlackBoardInterfaceListener;
46 class BlackBoardInterfaceObserver;
58 const char *owner = NULL);
60 const char *owner = NULL);
65 const char *id_pattern);
66 virtual bool is_alive()
const throw();
70 const char *id_pattern =
"*",
71 const char *owner = NULL);
76 unsigned int id)
throw();
84 void open_interface(
const char *type,
const char *identifier,
const char *owner,
86 Interface * open_interface(
const char *type,
const char *identifier,
const char *owner,
bool writer);
87 void reopen_interfaces();
98 std::list<BlackBoardInterfaceProxy *> __invalid_proxies;
99 std::list<BlackBoardInterfaceProxy *>::iterator __ipit;
104 const char *__inbound_thread;
Message handler for FawkesNetworkClient.
BlackBoard instance factory.
Wait until a given condition holds.
virtual Interface * open_for_writing(const char *interface_type, const char *identifier, const char *owner=NULL)
Open interface for writing.
Simple Fawkes network client.
Fawkes library namespace.
Representation of a message that is sent over the network.
virtual void deregistered(unsigned int id)
We are no longer registered in Fawkes network client.
virtual void connection_established(unsigned int id)
Client has established a connection.
Base class for all Fawkes BlackBoard interfaces.
virtual InterfaceInfoList * list(const char *type_pattern, const char *id_pattern)
Get list of interfaces matching type and ID patterns.
Interface information list.
virtual void close(Interface *interface)
Close interface.
virtual ~RemoteBlackBoard()
Destructor.
virtual bool try_aliveness_restore()
Try to restore the aliveness of the BlackBoard instance.
virtual void inbound_received(FawkesNetworkMessage *msg, unsigned int id)
Called for incoming messages.
virtual void connection_died(unsigned int id)
Client connection died.
RemoteBlackBoard(FawkesNetworkClient *client)
Constructor.
virtual InterfaceInfoList * list_all()
Get list of all currently existing interfaces.
The BlackBoard abstract class.
Mutex mutual exclusion lock.
virtual bool is_alive() const
Check if the BlackBoard is still alive.
virtual Interface * open_for_reading(const char *interface_type, const char *identifier, const char *owner=NULL)
Open interface for reading.
std::list< Interface * > open_multiple_for_reading(const char *interface_type, const char *id_pattern="*", const char *owner=NULL)
Open multiple interfaces for reading.