23 #include <blackboard/blackboard.h> 24 #include <blackboard/internal/notifier.h> 167 if (create_notifier) {
259 std::string t = type;
261 t = t.substr(t.find_first_not_of(
"0123456789"));
262 t = t.substr(0, t.length() - 1);
275 if (vasprintf(&
id, identifier_format, arg) != -1) {
276 std::string id_s(
id);
280 throw Exception(
"Failed to generate identifier from format");
298 va_start(arg, identifier);
322 va_start(arg, identifier);
virtual void register_observer(BlackBoardInterfaceObserver *observer)
Register BB interface observer.
ListenerRegisterFlag
Flags to constrain listener registration/updates.
std::string format_identifier(const char *identifier_format, va_list arg)
Get formatted identifier string.
void update_listener(BlackBoardInterfaceListener *listener, BlackBoard::ListenerRegisterFlag flag)
Update BB event listener.
Fawkes library namespace.
virtual Interface * open_for_reading_f(const char *interface_type, const char *identifier,...)
Open interface for reading with identifier format string.
void unregister_observer(BlackBoardInterfaceObserver *observer)
Unregister BB interface observer.
A NULL pointer was supplied where not allowed.
virtual void unregister_listener(BlackBoardInterfaceListener *listener)
Unregister BB interface listener.
virtual void update_listener(BlackBoardInterfaceListener *listener, ListenerRegisterFlag flag=BBIL_FLAG_ALL)
Update BB event listener.
Base class for all Fawkes BlackBoard interfaces.
virtual void register_listener(BlackBoardInterfaceListener *listener, ListenerRegisterFlag flag=BBIL_FLAG_ALL)
Register BB event listener.
void unregister_listener(BlackBoardInterfaceListener *listener)
Unregister BB interface listener.
Base class for exceptions in Fawkes.
BlackBoardNotifier * notifier_
Notifier for BB events.
virtual void unregister_observer(BlackBoardInterfaceObserver *observer)
Unregister BB interface observer.
virtual Interface * open_for_writing_f(const char *interface_type, const char *identifier,...)
Open interface for writing with identifier format string.
BlackBoard interface observer.
BlackBoard(bool create_notifier=true)
Constructor.
virtual ~BlackBoard()
Destructor.
virtual Interface * open_for_reading(const char *interface_type, const char *identifier, const char *owner=NULL)=0
Open interface for reading.
void register_observer(BlackBoardInterfaceObserver *observer)
Register BB interface observer.
void register_listener(BlackBoardInterfaceListener *listener, BlackBoard::ListenerRegisterFlag flag)
Register BB event listener.
virtual Interface * open_for_writing(const char *interface_type, const char *identifier, const char *owner=NULL)=0
Open interface for writing.
BlackBoard interface listener.
std::string demangle_fawkes_interface_name(const char *type)
Produce interface name from C++ signature.