24 #include <blackboard/internal/instance_factory.h>
25 #include <blackboard/exceptions.h>
27 #include <interface/interface.h>
29 #include <utils/system/dynamic_module/module_manager.h>
30 #include <utils/system/dynamic_module/module.h>
81 if ( ! mod->
has_symbol(
"interface_factory") ) {
88 iface->set_type_id(type, identifier);
111 if ( ! mod->
has_symbol(
"interface_destroy") ) {
virtual void unref()
Decrease the reference count of this module.
Interface * new_interface_instance(const char *type, const char *identifier)
Creates a new interface instance.
virtual void close_module(Module *module)
Close a module by Module instance.
Base class for all Fawkes BlackBoard interfaces.
Dynamic module loader for Linux, FreeBSD, and MacOS X.
Interface *(* InterfaceFactoryFunc)(void)
Interface generator function for the shared library Do not use directly.
Base class for exceptions in Fawkes.
void delete_interface_instance(Interface *interface)
Destroy an interface instance.
virtual const char * get_module_file_extension()
Get the file extension for the current module type.
~BlackBoardInstanceFactory()
Destructor.
Thrown if no definition of interface or interface generator found.
virtual Module * open_module(const char *filename)
Open a module.
virtual void * get_symbol(const char *symbol_name)
Get a symbol from the module.
BlackBoardInstanceFactory()
Constructor.
void(* InterfaceDestroyFunc)(Interface *interface)
Interface destructor function for the shared library.
virtual Module * get_module(const char *filename)
Get a module if opened.
virtual bool has_symbol(const char *symbol_name)
Check if the module has the given symbol.