algorithm_config.cpp

Go to the documentation of this file.
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 

Generated on Sun Aug 13 18:19:37 2006 for iMEDgine by  doxygen 1.4.6