00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef CDMREADER_H_
00025 #define CDMREADER_H_
00026
00027 #include <boost/shared_ptr.hpp>
00028 #include "CDM.h"
00029 #include "Data.h"
00030 #include "CDMVariable.h"
00031
00032 namespace MetNoFimex
00033 {
00034
00045 class CDMReader
00046 {
00047 public:
00048 CDMReader() {};
00049 virtual ~CDMReader() {}
00050
00051 virtual const CDM& getCDM() const {return cdm;}
00062 virtual const boost::shared_ptr<Data> getDataSlice(const std::string& varName, size_t unLimDimPos = 0) throw(CDMException) = 0;
00069 virtual const boost::shared_ptr<Data> getDataFromMemory(const CDMVariable& variable, size_t unLimDimPos = 0) throw(CDMException);
00070
00071 protected:
00072 CDM cdm;
00073 };
00074
00075 }
00076
00077 #endif