algorithm_config.h

Go to the documentation of this file.
00001 //--------------------------------------------------
00014 //---------------------------------------------------
00015 
00016 #ifndef IMEDGINE_ALGORITHM_CONFIG_H_
00017 #define IMEDGINE_ALGORITHM_CONFIG_H_
00018 
00019 #include <vector>
00020 #include <string>
00021 #include <map>
00022 #include <boost/shared_ptr.hpp>
00023 #include "../global/global_definitions.h"
00024 #include "algorithm_definition.h"
00025 #include <iostream>
00026 
00027 namespace imedgine 
00028 {
00029   //--------------------------------------------------
00049 
00050   class AlgorithmConfig
00051   {
00052     
00053   public:
00054     //--------------------------------------------------
00057       
00058     typedef boost::shared_ptr<AlgorithmConfig> algorithm_config_pointer_type;
00059     
00060     //--------------------------------------------------
00063       
00064     typedef boost::shared_ptr<AlgorithmDefinition> algorithm_definition_pointer_type;
00065     
00066     //--------------------------------------------------
00069       
00070     typedef std::map<std::string, algorithm_definition_pointer_type> algorithm_definitions_container_type;
00071     
00072     //--------------------------------------------------
00075      
00076     AlgorithmConfig();
00077 
00078     //--------------------------------------------------
00081     
00082     ~AlgorithmConfig(); 
00083     
00084     //--------------------------------------------------
00090 
00091     bool addAlgorithmDefinition(algorithm_definition_pointer_type definition);
00092      
00093 
00094     //--------------------------------------------------
00100 
00101     algorithm_definition_pointer_type getAlgorithmDefinition(std::string name) const 
00102       throw();
00103     
00104     //--------------------------------------------------
00109     
00110     algorithm_definitions_container_type getAlgorithmDefinitions() const;
00111     
00112     //--------------------------------------------------
00117     
00118     algorithm_name_container_type getLoadedAlgorithmNames() const;
00119     
00120     //--------------------------------------------------
00125     
00126     std::string getAlgorithmLibraryPath() const;
00127     
00128     //--------------------------------------------------
00133     
00134     void setAlgorithmLibraryPath(std::string path);
00135 
00136   private:
00137     algorithm_definitions_container_type algorithm_definitions_;
00138     std::string algorithm_library_path_;
00139   };
00140 }
00141 
00142 #endif // IMEDGINE_CONFIG_HANDLER_
00143 

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