24 #ifndef __BLACKBOARD_INTERFACE_MANAGER_H_
25 #define __BLACKBOARD_INTERFACE_MANAGER_H_
27 #include <interface/mediators/interface_mediator.h>
29 #include <core/utils/lock_map.h>
30 #include <utils/misc/string_compare.h>
37 class InterfaceInfoList;
38 class BlackBoardMemoryManager;
39 class BlackBoardMessageManager;
41 class BlackBoardInstanceFactory;
42 class BlackBoardInterfaceListener;
43 class BlackBoardInterfaceObserver;
44 class BlackBoardNotifier;
63 const char *id_pattern)
const;
66 const char *id_pattern =
"*");
76 Interface * new_interface_instance(
const char *type,
const char *identifier);
77 void delete_interface_instance(
Interface *interface);
79 void * find_interface_in_memory(
const char *type,
const char *identifier);
80 unsigned int next_mem_serial();
81 unsigned int next_instance_serial();
82 void create_interface(
const char *type,
const char *identifier,
85 Interface * writer_for_mem_serial(
unsigned int mem_serial);
88 unsigned int instance_serial;
virtual unsigned int num_readers(const Interface *interface) const
Get number of readers.
BlackBoard instance factory.
void close(Interface *interface)
Close interface.
Interface * open_for_reading(const char *interface_type, const char *identifier)
Open interface for reading.
Fawkes library namespace.
BlackBoard memory manager.
virtual void notify_of_data_change(const Interface *interface)
Notify of data change.
Base class for all Fawkes BlackBoard interfaces.
virtual ~BlackBoardInterfaceManager()
Destructor.
std::list< Interface * > open_multiple_for_reading(const char *type_pattern, const char *id_pattern="*")
Open all interfaces of the given type for reading.
InterfaceInfoList * list(const char *type_pattern, const char *id_pattern) const
Get a constrained list of interfaces.
InterfaceInfoList * list_all() const
Get a list of interfaces.
Interface information list.
BlackBoardInterfaceManager(BlackBoardMemoryManager *bb_memmgr, BlackBoardMessageManager *bb_msgmgr, BlackBoardNotifier *bb_notifier)
Constructor.
Interface * open_for_writing(const char *interface_type, const char *identifier)
Open interface for writing.
BlackBoard message manager.
Mutex mutual exclusion lock.
virtual bool exists_writer(const Interface *interface) const
Check if a writer exists for the given interface.
BlackBoard interface manager.