// // C++ Interface: %{MODULE} // // Description: // // // Author: %{AUTHOR} <%{EMAIL}>, (C) %{YEAR} // // Copyright: See COPYING file that comes with this distribution // // #ifndef FILEDATAREADER_H #define FILEDATAREADER_H #include "filedata.h" #include #include #include "hdfi.h" #include /** @author Nicolas PASCAL ; James MANLEY */ class FileDataReader : virtual public FileData{ public: FileDataReader(const string &name, const string &mode); virtual ~FileDataReader(); virtual int get_n_dataset()=0; virtual string get_dataset_name(int i)=0; virtual int get_dataset_data_type(string sds_name)=0; virtual string get_values_attr_dataset(string sds_name,string attr)=0; virtual bool has_attr_dataset(string sds_name,string attr)=0; virtual string get_values_attr(string attr_name){return "";}; virtual string get_file_attr(string attr_name){return get_values_attr(attr_name);}; virtual bool has_attr(string attr_name){return false;}; virtual bool has_file_attr(string attr_name){return has_attr(attr_name);}; bool has_sds(const string &sds_name); virtual string get_product(){ UnimplementedMethod e(__FILE__,__LINE__,__PRETTY_FUNCTION__); throw e; }; virtual void get_scaling(const string &sds_name, float64 &scale, float64 &offset) { UnimplementedMethod e(__FILE__,__LINE__,__PRETTY_FUNCTION__); throw e; }; void get_calibration(const string &sds_name, float64 &scale, float64 &offset) { get_scaling(sds_name, scale, offset); }; }; #endif