00001
00014
00015
00016 #ifndef CONFIGURATION_H__
00017 #define CONFIGURATION_H__
00018
00019 #include "../global/global_definitions.h"
00020 #include "../datasets/dataset_definitions.h"
00021 #include "../datasets/dataset.h"
00022
00023 #include <string>
00024 #include <map>
00025
00026 namespace imedgine
00027 {
00028
00029
00045
00046
00047 class Configuration
00048 {
00049 public:
00050
00051
00054
00055 Configuration();
00056
00057
00060
00061 virtual ~Configuration();
00062
00063
00070
00071 void registerDataset(config_dataset_id_type input_dataset_id,
00072 dataset_pointer_type dataset);
00073
00074
00082
00083 imedgine::dataset_pointer_type getDataset(
00084 config_dataset_id_type input_dataset_id) const;
00085
00086 protected:
00087
00088
00091
00092 Configuration(Configuration const& src);
00093
00094
00095 private:
00096
00097
00100
00101 typedef std::map<config_dataset_id_type, dataset_pointer_type>
00102 dataset_pointer_map_type;
00103
00104
00107
00108 typedef dataset_pointer_map_type::const_iterator const_dataset_pointer_map_type_iterator;
00109
00110
00113
00114 Configuration& operator = (Configuration const& src);
00115
00116
00119 dataset_pointer_map_type id_to_dataset_map_;
00120
00121 };
00122
00123 }
00124
00125 #endif // CONFIGURATION_H__
00126