• Main Page
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

/home/pascal/depot/filedata/src/filedatareader.h

00001 //
00002 // C++ Interface: %{MODULE}
00003 //
00004 // Description:
00005 //
00006 //
00007 // Author: %{AUTHOR} <%{EMAIL}>, (C) %{YEAR}
00008 //
00009 // Copyright: See COPYING file that comes with this distribution
00010 //
00011 //
00012 #ifndef FILEDATAREADER_H
00013 #define FILEDATAREADER_H
00014 
00015 
00016 #include "filedata.h"
00017 #include <cmath>
00018 #include <cfloat>
00019 #include "hdfi.h"
00020 #include <string>
00021 
00025 class FileDataReader : virtual public FileData{
00026 public:
00027     FileDataReader(const string &name, const string &mode);
00028 
00029     virtual ~FileDataReader();
00030 
00031     virtual int get_n_dataset()=0;
00032 
00033     virtual string get_dataset_name(int i)=0;
00034 
00035     virtual int get_dataset_data_type(string sds_name)=0;
00036 
00037     virtual string get_values_attr_dataset(string sds_name,string attr)=0;
00038 
00039     virtual bool has_attr_dataset(string sds_name,string attr)=0;
00040 
00041     virtual string get_values_attr(string attr_name){return "";};
00042 
00043     virtual string get_file_attr(string attr_name){return get_values_attr(attr_name);};
00044 
00045     virtual bool has_attr(string attr_name){return false;};
00046 
00047     virtual bool has_file_attr(string attr_name){return has_attr(attr_name);};
00048 
00049     bool has_sds(const string &sds_name);
00050 
00051     virtual string get_product(){
00052         UnimplementedMethod e(__FILE__,__LINE__,__PRETTY_FUNCTION__);
00053         throw e;
00054     };
00055 
00056     virtual void get_scaling(const string &sds_name, float64 &scale, float64 &offset)
00057     {
00058         UnimplementedMethod e(__FILE__,__LINE__,__PRETTY_FUNCTION__);
00059         throw e;
00060     };
00061 
00062     void get_calibration(const string &sds_name, float64 &scale, float64 &offset) {
00063         get_scaling(sds_name, scale, offset);
00064     };
00065 };
00066 
00067 #endif

Generated on Thu Feb 14 2013 17:59:03 for filedata.kdevelop by  doxygen 1.7.1