Fawkes API
Fawkes Development Version
|
#include <>>
Public Member Functions | |
BlackBoardWithOwnership (BlackBoard *parent, const char *owner) | |
Constructor. More... | |
virtual | ~BlackBoardWithOwnership () |
Destructor. More... | |
virtual Interface * | open_for_reading (const char *interface_type, const char *identifier, const char *owner=NULL) |
virtual Interface * | open_for_writing (const char *interface_type, const char *identifier, const char *owner=NULL) |
virtual void | close (Interface *interface) |
virtual InterfaceInfoList * | list_all () |
virtual InterfaceInfoList * | list (const char *type_pattern, const char *id_pattern) |
virtual bool | is_alive () const throw () |
virtual bool | try_aliveness_restore () throw () |
virtual std::list< Interface * > | open_multiple_for_reading (const char *type_pattern, const char *id_pattern="*", const char *owner=NULL) |
virtual void | register_listener (BlackBoardInterfaceListener *listener, ListenerRegisterFlag flag=BBIL_FLAG_ALL) |
Register BB event listener. More... | |
virtual void | update_listener (BlackBoardInterfaceListener *listener, ListenerRegisterFlag flag=BBIL_FLAG_ALL) |
Update BB event listener. More... | |
virtual void | unregister_listener (BlackBoardInterfaceListener *listener) |
Unregister BB interface listener. More... | |
virtual void | register_observer (BlackBoardInterfaceObserver *observer) |
Register BB interface observer. More... | |
virtual void | unregister_observer (BlackBoardInterfaceObserver *observer) |
Unregister BB interface observer. More... | |
![]() | |
virtual | ~BlackBoard () |
Destructor. More... | |
virtual Interface * | open_for_reading_f (const char *interface_type, const char *identifier,...) |
Open interface for reading with identifier format string. More... | |
virtual Interface * | open_for_writing_f (const char *interface_type, const char *identifier,...) |
Open interface for writing with identifier format string. More... | |
template<class InterfaceType > | |
std::list< InterfaceType * > | open_multiple_for_reading (const char *id_pattern="*", const char *owner=NULL) |
Open all interfaces of given type for reading. More... | |
template<class InterfaceType > | |
InterfaceType * | open_for_reading (const char *identifier, const char *owner=NULL) |
Get interface of given type. More... | |
template<class InterfaceType > | |
InterfaceType * | open_for_writing (const char *identifier, const char *owner=NULL) |
Get writer interface of given type. More... | |
template<class InterfaceType > | |
InterfaceType * | open_for_reading_f (const char *identifier,...) |
Get interface of given type with identifier format string. More... | |
template<class InterfaceType > | |
InterfaceType * | open_for_writing_f (const char *identifier,...) |
Get writer interface of given type with identifier format string. More... | |
std::string | demangle_fawkes_interface_name (const char *type) |
Produce interface name from C++ signature. More... | |
std::string | format_identifier (const char *identifier_format, va_list arg) |
Get formatted identifier string. More... | |
Additional Inherited Members | |
![]() | |
enum | ListenerRegisterFlag { BBIL_FLAG_DATA = 1, BBIL_FLAG_MESSAGES = 2, BBIL_FLAG_READER = 4, BBIL_FLAG_WRITER = 8, BBIL_FLAG_ALL = 15 } |
Flags to constrain listener registration/updates. More... | |
![]() | |
BlackBoard (bool create_notifier=true) | |
Constructor. More... | |
![]() | |
BlackBoardNotifier * | notifier_ |
Notifier for BB events. More... | |
BlackBoard that traces interface ownership.
Definition at line 35 of file ownership.h.
fawkes::BlackBoardWithOwnership::BlackBoardWithOwnership | ( | fawkes::BlackBoard * | parent, |
const char * | owner | ||
) |
Constructor.
parent | parent blackboard to use as actual blackboard |
owner | owner name to record in newly created interfaces |
Definition at line 48 of file ownership.cpp.
|
virtual |
Destructor.
Definition at line 60 of file ownership.cpp.
References fawkes::BlackBoard::open_for_reading().
|
virtual |
Close interface.
interface | interface to close |
Implements fawkes::BlackBoard.
Definition at line 91 of file ownership.cpp.
References fawkes::BlackBoard::list_all().
|
virtual |
Check if the BlackBoard is still alive.
Implements fawkes::BlackBoard.
Definition at line 109 of file ownership.cpp.
References fawkes::BlackBoard::try_aliveness_restore().
|
virtual |
Get list of interfaces matching type and ID patterns. See the fnmatch() documentation for possible patterns.
type_pattern | pattern with shell like globs (* for any number of characters, ? for exactly one character) to match the interface type. |
id_pattern | pattern with shell like globs (* for any number of characters, ? for exactly one character) to match the interface ID. |
Implements fawkes::BlackBoard.
Definition at line 103 of file ownership.cpp.
References fawkes::BlackBoard::is_alive().
|
virtual |
Get list of all currently existing interfaces.
Implements fawkes::BlackBoard.
Definition at line 97 of file ownership.cpp.
References fawkes::BlackBoard::list().
|
virtual |
Open interface for reading. This will create a new interface instance of the given type. The result can be casted to the appropriate type.
type | type of the interface |
identifier | identifier of the interface |
owner | name of entity which opened this interface. If using the BlackBoardAspect to access the blackboard leave this untouched unless you have a good reason. |
OutOfMemoryException | thrown if there is not enough free space for the requested interface. |
Implements fawkes::BlackBoard.
Definition at line 65 of file ownership.cpp.
|
virtual |
Open interface for writing. This will create a new interface instance of the given type. The result can be casted to the appropriate type. This will only succeed if there is not already a writer for the given interface type/id!
type | type of the interface |
identifier | identifier of the interface |
owner | name of entity which opened this interface. If using the BlackBoardAspect to access the blackboard leave this untouched unless you have a good reason. |
OutOfMemoryException | thrown if there is not enough free space for the requested interface. |
BlackBoardWriterActiveException | thrown if there is already a writing instance with the same type/id |
Implements fawkes::BlackBoard.
Definition at line 73 of file ownership.cpp.
|
virtual |
Open multiple interfaces for reading. This will create interface instances for currently registered interfaces of the given type that match the given ID pattern. The result can be casted to the appropriate type.
type_pattern | pattern of interface types to open, supports wildcards similar to filenames (*, ?, []), see "man fnmatch" for all supported. |
id_pattern | pattern of interface IDs to open, supports wildcards similar to filenames (*, ?, []), see "man fnmatch" for all supported. |
owner | name of entity which opened this interface. If using the BlackBoardAspect to access the blackboard leave this untouched unless you have a good reason. |
Implements fawkes::BlackBoard.
Definition at line 81 of file ownership.cpp.
|
virtual |
Register BB event listener.
listener | BlackBoard event listener to register |
flag | flags what to register for |
Reimplemented from fawkes::BlackBoard.
Definition at line 121 of file ownership.cpp.
|
virtual |
Register BB interface observer.
observer | BlackBoard interface observer to register |
Reimplemented from fawkes::BlackBoard.
Definition at line 145 of file ownership.cpp.
|
virtual |
Try to restore the aliveness of the BlackBoard instance. Note that even though the aliveness of the BlackBoard is restored single interfaces may still be invalid. That can for instance happen if a remote connection is re-established and a writer has been created during the downtime and an own writer instance of that very interface cannot be restored.
Implements fawkes::BlackBoard.
Definition at line 115 of file ownership.cpp.
References fawkes::BlackBoard::register_listener().
|
virtual |
Unregister BB interface listener.
This will remove the given BlackBoard interface listener from any event that it was previously registered for.
listener | BlackBoard event listener to remove |
Reimplemented from fawkes::BlackBoard.
Definition at line 137 of file ownership.cpp.
|
virtual |
Unregister BB interface observer.
This will remove the given BlackBoard event listener from any event that it was previously registered for.
observer | BlackBoard event listener to remove |
Reimplemented from fawkes::BlackBoard.
Definition at line 153 of file ownership.cpp.
|
virtual |
Update BB event listener.
listener | BlackBoard event listener to update |
flag | flags what to update for |
Reimplemented from fawkes::BlackBoard.
Definition at line 128 of file ownership.cpp.