#include <algorithm_factory.h>
Public Types | |
typedef boost::shared_ptr< Algorithm > | algorithm_pointer_type |
typedef std::string | key_type |
Public Member Functions | |
AlgorithmFactory () | |
~AlgorithmFactory () | |
void | loadAlgorithm (key_type key, std::string library_path) throw (AlgorithmFactoryException) |
bool | isAlgorithmLoaded (key_type algorithm_key) |
bool | unloadAlgorithm (key_type algorithm_key) |
algorithm_pointer_type | createAlgorithm (key_type algorithm_key) const throw (AlgorithmNotFoundException, NullPointerException) |
config_widget_pointer_type | createConfigWidget (key_type algorithm_key) const throw (AlgorithmNotFoundException,NullPointerException) |
configuration_pointer_type | createConfiguration (AlgorithmFactory::key_type algorithm_key) const throw (AlgorithmNotFoundException,NullPointerException) |
Protected Types | |
typedef AlgorithmInterface * | library_handle_type |
typedef std::map< key_type, library_handle_type > | key_to_library_handle_map_type |
typedef key_to_library_handle_map_type::iterator | key_to_library_handle_iterator |
typedef key_to_library_handle_map_type::const_iterator | key_to_library_handle_const_iterator |
Protected Attributes | |
key_to_library_handle_map_type | library_handle_map_ |
The AlgorithmFactory provides an interface for loading shared libries that contain algorithms and creating instance of these algorithms and their configuration widgets.
Christian Koerner (christian.koerner@imedgine.org)
Alexander Lex (alexander.lex@imedgine.org)
Marc Streit (marc.streit@imedgine.org)
Martin Reininger (martin.reininger@imedgine.org)
Definition at line 57 of file algorithm_factory.h.
|
a shared pointer type holding an Algorithm object Definition at line 65 of file algorithm_factory.h. |
|
the type algorithm keys are stored as Definition at line 71 of file algorithm_factory.h. |
|
Constructor Definition at line 77 of file algorithm_factory.h. |
|
Destructor Definition at line 83 of file algorithm_factory.h. |
|
Create an instance of the algorithm associated with the given key.
Definition at line 90 of file algorithm_factory.cpp. |
|
Create an instance of the configuration class associated with the given
Definition at line 139 of file algorithm_factory.cpp. |
|
Create an instance of the configuration widget associated with the given key.
Definition at line 112 of file algorithm_factory.cpp. |
|
Checks if the algorithm identified by
Definition at line 53 of file algorithm_factory.cpp. Referenced by Controller::isAlgorithmLoaded(). |
|
Make an algorithm defined in a shared library accessible for the algorithm factory.
Definition at line 27 of file algorithm_factory.cpp. |
|
Unload a shared library implementing an algorithm
Definition at line 67 of file algorithm_factory.cpp. References AlgorithmFactory::library_handle_map_. |