Fawkes API
Fawkes Development Version
|
23 #ifndef _BLACKBOARD_REMOTE_H_
24 #define _BLACKBOARD_REMOTE_H_
26 #include <blackboard/blackboard.h>
27 #include <core/exceptions/software.h>
28 #include <core/utils/lock_map.h>
29 #include <netcomm/fawkes/client_handler.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;
48 class RemoteBlackBoard :
public BlackBoard,
public FawkesNetworkClientHandler
56 open_for_reading(
const char *interface_type,
const char *identifier,
const char *owner = NULL);
58 open_for_writing(
const char *interface_type,
const char *identifier,
const char *owner = NULL);
63 virtual bool is_alive()
const throw();
67 const
char *id_pattern = "*",
68 const
char *owner = NULL);
79 void open_interface(const
char *type,
80 const
char *identifier,
85 open_interface(const
char *type, const
char *identifier, const
char *owner,
bool writer);
86 void reopen_interfaces();
102 const
char *inbound_thread_;
virtual Interface * open_for_writing(const char *interface_type, const char *identifier, const char *owner=NULL)
std::list< Interface * > open_multiple_for_reading(const char *interface_type, const char *id_pattern="*", const char *owner=NULL)
virtual bool try_aliveness_restore()
virtual bool is_alive() const
virtual void connection_established(unsigned int id)
RemoteBlackBoard(FawkesNetworkClient *client)
Constructor.
virtual InterfaceInfoList * list(const char *type_pattern, const char *id_pattern)
virtual InterfaceInfoList * list_all()
virtual ~RemoteBlackBoard()
Destructor.
virtual void inbound_received(FawkesNetworkMessage *msg, unsigned int id)
virtual void close(Interface *interface)
Close interface.
virtual void connection_died(unsigned int id)
virtual void deregistered(unsigned int id)
We are no longer registered in Fawkes network client.
virtual Interface * open_for_reading(const char *interface_type, const char *identifier, const char *owner=NULL)