00001
00012
00013
00014 #include "algorithm_config.h"
00015 #include "../exceptions/algorithm_not_found_exception.h"
00016
00017 #include <iostream>
00018
00019 namespace imedgine
00020 {
00021
00022
00023 AlgorithmConfig::AlgorithmConfig()
00024 {
00025 }
00026
00027
00028
00029 AlgorithmConfig::~AlgorithmConfig()
00030 {
00031 }
00032
00033
00034
00035 bool AlgorithmConfig::addAlgorithmDefinition(algorithm_definition_pointer_type definition)
00036 {
00037 return algorithm_definitions_.insert(std::make_pair(definition->getName(), definition)).second;
00038 }
00039
00040
00041
00042 AlgorithmConfig::algorithm_definitions_container_type AlgorithmConfig::getAlgorithmDefinitions() const
00043 {
00044 return algorithm_definitions_;
00045 }
00046
00047
00048
00049 algorithm_name_container_type AlgorithmConfig::getLoadedAlgorithmNames() const
00050 {
00051 algorithm_name_container_type algorithm_list;
00052 AlgorithmConfig::algorithm_definitions_container_type::const_iterator algorithm_iterator = algorithm_definitions_.begin();
00053 while (algorithm_iterator != algorithm_definitions_.end())
00054 {
00055 algorithm_list.insert(std::make_pair(algorithm_iterator->second->getClassification(), algorithm_iterator->second->getName()));
00056 ++algorithm_iterator;
00057 }
00058 return algorithm_list;
00059 }
00060
00061
00062
00063 AlgorithmConfig::algorithm_definition_pointer_type
00064 AlgorithmConfig::getAlgorithmDefinition(std::string name) const
00065 throw()
00066 {
00067 algorithm_definitions_container_type::const_iterator algorithm_iterator =
00068 algorithm_definitions_.find(name);
00069 if (algorithm_iterator != algorithm_definitions_.end())
00070 {
00071 return algorithm_iterator->second;
00072 }
00073 else
00074 {
00075 throw AlgorithmNotFoundException(name);
00076 }
00077 }
00078
00079
00080
00081 std::string AlgorithmConfig::getAlgorithmLibraryPath() const
00082 {
00083 return algorithm_library_path_;
00084 }
00085
00086
00087
00088 void AlgorithmConfig::setAlgorithmLibraryPath(std::string path)
00089 {
00090 algorithm_library_path_ = path;
00091 }
00092 }
00093
00094