23 #include <blackboard/ownership.h> 48 :
BlackBoard( false), blackboard_(parent), owner_(owner)
54 blackboard_ = bbo->blackboard_;
69 owner ? owner : owner_.c_str());
77 owner ? owner : owner_.c_str());
81 std::list<Interface *>
83 const char *id_pattern,
87 owner ? owner : owner_.c_str());
94 blackboard_->
close(interface);
108 return blackboard_->
list(type_pattern, id_pattern);
136 if (! listener)
return;
144 if (! listener)
return;
151 if (! observer)
return;
159 if (! observer)
return;
virtual ~BlackBoardWithOwnership()
Destructor.
virtual void register_observer(BlackBoardInterfaceObserver *observer)
Register BB interface observer.
ListenerRegisterFlag
Flags to constrain listener registration/updates.
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.
Fawkes library namespace.
virtual void close(Interface *interface)
Close interface.
virtual bool try_aliveness_restore()=0
Try to restore the aliveness of the BlackBoard instance.
virtual Interface * open_for_reading(const char *interface_type, const char *identifier, const char *owner=NULL)
Open interface for reading.
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 unregister_listener(BlackBoardInterfaceListener *listener)
Unregister BB interface listener.
virtual InterfaceInfoList * list(const char *type_pattern, const char *id_pattern)=0
Get list of interfaces matching type and ID patterns.
virtual void register_listener(BlackBoardInterfaceListener *listener, ListenerRegisterFlag flag=BBIL_FLAG_ALL)
Register BB event listener.
Interface information list.
virtual bool is_alive() const
Check if the BlackBoard is still alive.
virtual bool is_alive() const =0
Check if the BlackBoard is still alive.
virtual void unregister_observer(BlackBoardInterfaceObserver *observer)
Unregister BB interface observer.
BlackBoard that traces interface ownership.
virtual void unregister_observer(BlackBoardInterfaceObserver *observer)
Unregister BB interface observer.
virtual std::list< Interface * > open_multiple_for_reading(const char *type_pattern, const char *id_pattern="*", const char *owner=NULL)=0
Open multiple interfaces for reading.
BlackBoard interface observer.
BlackBoardWithOwnership(BlackBoard *parent, const char *owner)
Constructor.
virtual InterfaceInfoList * list_all()
Get list of all currently existing interfaces.
virtual bool try_aliveness_restore()
Try to restore the aliveness of the BlackBoard instance.
virtual InterfaceInfoList * list_all()=0
Get list of all currently existing interfaces.
virtual Interface * open_for_reading(const char *interface_type, const char *identifier, const char *owner=NULL)=0
Open interface for reading.
virtual void register_observer(BlackBoardInterfaceObserver *observer)
Register BB interface observer.
virtual void update_listener(BlackBoardInterfaceListener *listener, ListenerRegisterFlag flag=BBIL_FLAG_ALL)
Update BB event listener.
The BlackBoard abstract class.
virtual Interface * open_for_writing(const char *interface_type, const char *identifier, const char *owner=NULL)
Open interface for writing.
virtual void register_listener(BlackBoardInterfaceListener *listener, ListenerRegisterFlag flag=BBIL_FLAG_ALL)
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.
virtual InterfaceInfoList * list(const char *type_pattern, const char *id_pattern)
Get list of interfaces matching type and ID patterns.
BlackBoard interface listener.
virtual void close(Interface *interface)=0
Close interface.