23 #include <blackboard/blackboard.h> 24 #include <blackboard/internal/notifier.h> 171 if (create_notifier) {
207 if (! listener)
return;
221 if (! listener)
return;
233 if (! observer)
return;
247 if (! observer)
return;
262 std::string t = type;
264 t = t.substr( t.find_first_not_of(
"0123456789") );
265 t = t.substr(0, t.length() - 1);
279 if (vasprintf(&
id, identifier_format, arg) != -1 ) {
280 std::string id_s(
id);
284 throw Exception(
"Failed to generate identifier from format");
300 const char *identifier, ...)
303 va_start(arg, identifier);
327 const char *identifier, ...)
330 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.
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.
BlackBoardNotifier * __notifier
Notifier for BB events.
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.