data_io_factory.cpp

00001 //--------------------------------------------------
00012 //---------------------------------------------------
00013 
00014 
00015 #include "data_io_factory.h"
00016 #include "analyze_data_io.h"
00017 
00018 namespace imedgine 
00019 {
00020   //---------------------------------------------------
00021   
00022   DataIOFactory::DataIOFactory()
00023   {
00024   }
00025 
00026   //---------------------------------------------------
00027   
00028   DataIOFactory::~DataIOFactory()
00029   {
00030   }
00031 
00032   //---------------------------------------------------
00033   
00034   DataIOFactory::data_io_type DataIOFactory::createDataIO(std::string extension)
00035       throw(FormatNotSupportedException)
00036   {
00037     data_io_map_type::iterator map_iterator = data_io_map_.find(extension);
00038     if (map_iterator != data_io_map_.end())
00039     {
00040       return map_iterator->second;
00041     }
00042     else
00043     {
00044       //TODO externalize! externalize! externalize!
00045       if (extension == "hdr") 
00046       {
00047         data_io_type analyze_data_io(new AnalyzeDataIO()); 
00048         data_io_map_.insert(data_io_map_pair_type("hdr", analyze_data_io));
00049         return analyze_data_io;
00050       }
00051       else 
00052       {
00053         throw(FormatNotSupportedException(extension));
00054       }
00055     }
00056   }
00057 }

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