30 #ifndef _HDF5CFARRAY_H
31 #define _HDF5CFARRAY_H
41 #include "HDF5DiskCache.h"
43 #include <D4Attributes.h>
50 const hid_t h5_file_id,
51 const std::string & h5_filename,
53 const std::vector<size_t>& h5_dimsizes,
54 const std::string &varfullpath,
55 const size_t h5_total_elems,
56 const CVType h5_cvtype,
57 const bool h5_islatlon,
58 const float h5_comp_ratio,
59 const std::string & n=
"",
60 libdap::BaseType * v = 0):
64 filename(h5_filename),
66 dimsizes(h5_dimsizes),
68 total_elems(h5_total_elems),
70 islatlon(h5_islatlon),
71 comp_ratio(h5_comp_ratio)
77 virtual libdap::BaseType *ptr_duplicate();
82 libdap::BaseType *h5cfdims_transform_to_dap4(libdap::D4Group *root);
94 std::vector<size_t>dimsizes;
100 bool valid_disk_cache();
101 bool valid_disk_cache_for_compressed_data(
short dtype_size);
102 bool obtain_cached_data(
HDF5DiskCache*,
const std::string&,
int, std::vector<int>&,std::vector<int>&,
size_t,
short);
103 void write_data_to_cache(hid_t dset_id, hid_t dspace_id,hid_t mspace_id,hid_t memtype,
const std::string& cache_fpath,
short dtype_size,
const std::vector<char> &buf,
int nelms);
106 #endif // _HDF5CFARRAY_H