23#ifndef _BLACKBOARD_LOCAL_H_
24#define _BLACKBOARD_LOCAL_H_
26#include <blackboard/blackboard.h>
27#include <core/exceptions/software.h>
33class BlackBoardInterfaceManager;
34class BlackBoardMemoryManager;
35class BlackBoardMessageManager;
36class BlackBoardNetworkHandler;
37class BlackBoardNotifier;
39class InterfaceInfoList;
40class BlackBoardInterfaceListener;
41class BlackBoardInterfaceObserver;
42class FawkesNetworkHub;
48 LocalBlackBoard(
size_t memsize,
const char *magic_token,
bool master =
true);
52 open_for_reading(
const char *interface_type,
const char *identifier,
const char *owner = NULL);
54 open_for_writing(
const char *interface_type,
const char *identifier,
const char *owner = NULL);
59 virtual bool is_alive()
const noexcept;
63 const char *id_pattern =
"*",
64 const char *owner = NULL);
68 static void cleanup(
const char *magic_token,
bool use_lister =
false);
BlackBoard interface manager.
BlackBoard memory manager.
BlackBoard message manager.
BlackBoard Network Handler.
The BlackBoard abstract class.
Interface information list.
Base class for all Fawkes BlackBoard interfaces.
static void cleanup(const char *magic_token, bool use_lister=false)
Cleanup orphaned BlackBoard segments.
LocalBlackBoard(size_t memsize)
Heap Memory Constructor.
virtual InterfaceInfoList * list(const char *type_pattern, const char *id_pattern)
Get list of interfaces matching type and ID patterns.
virtual std::list< Interface * > open_multiple_for_reading(const char *type_pattern, const char *id_pattern="*", const char *owner=NULL)
Open multiple interfaces for reading.
virtual bool is_alive() const noexcept
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.
virtual void close(Interface *interface)
Close interface.
const BlackBoardMemoryManager * memory_manager() const
Get memory manager.
virtual bool try_aliveness_restore() noexcept
Try to restore the aliveness of the BlackBoard instance.
virtual InterfaceInfoList * list_all()
Get list of all currently existing interfaces.
virtual ~LocalBlackBoard()
Destructor.
virtual Interface * open_for_writing(const char *interface_type, const char *identifier, const char *owner=NULL)
Open interface for writing.
virtual void start_nethandler(FawkesNetworkHub *hub)
Start network handler.
Fawkes library namespace.