bes  Updated for version 3.20.10
heos5cfdap.h
Go to the documentation of this file.
1 // This file is part of hdf5_handler: an HDF5 file handler for the OPeNDAP
2 // data server.
3 
4 // Copyright (c) 2011-2016 The HDF Group, Inc. and OPeNDAP, Inc.
5 //
6 // This is free software; you can redistribute it and/or modify it under the
7 // terms of the GNU Lesser General Public License as published by the Free
8 // Software Foundation; either version 2.1 of the License, or (at your
9 // option) any later version.
10 //
11 // This software is distributed in the hope that it will be useful, but
12 // WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13 // or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
14 // License for more details.
15 //
16 // You should have received a copy of the GNU Lesser General Public
17 // License along with this library; if not, write to the Free Software
18 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19 //
20 // You can contact OPeNDAP, Inc. at PO Box 112, Saunderstown, RI. 02874-0112.
21 // You can contact The HDF Group, Inc. at 1800 South Oak Street,
22 // Suite 203, Champaign, IL 61820
23 
32 
33 
34 #ifndef _HEOS5CFDAP_H
35 #define _HEOS5CFDAP_H
36 #include <libdap/DDS.h>
37 #include <libdap/DAS.h>
38 #include "hdf5.h"
39 #include "HDF5CF.h"
40 #include "h5commoncfdap.h"
41 
42 enum EOS5Metadata
43 {StructMeta,CoreMeta,ArchivedMeta,SubsetMeta,ProductMeta,XMLMeta,OtherMeta};
44 void map_eos5_cfdds(libdap::DDS &, hid_t, const std::string &);
45 void map_eos5_cfdas(libdap::DAS &, hid_t, const std::string &);
46 void gen_eos5_cfdds(libdap::DDS &, HDF5CF::EOS5File*);
47 void gen_eos5_cfdas(libdap::DAS &, hid_t, HDF5CF::EOS5File*);
48 
49 void gen_eos5_cf_ignored_obj_info(libdap::DAS &,HDF5CF::EOS5File*);
50 void gen_dap_oneeos5cvar_dds(libdap::DDS &,const HDF5CF::EOS5CVar*,const hid_t, const std::string &);
51 
52 //void gen_dap_oneeos5cf_dmr(libdap::D4Group*,const HDF5CF::EOS5CVar*);
53 void gen_dap_oneeos5cf_dds(libdap::DDS &,const HDF5CF::EOS5CVar* );
54 void gen_dap_oneeos5cf_das(libdap::DAS &,const std::vector<HDF5CF::Var*>&,const HDF5CF::EOS5CVar* ,const unsigned short);
55 
56 // DMR
57 void map_eos5_cfdmr(libdap::D4Group*,hid_t, const std::string &);
58 void gen_eos5_cfdmr(libdap::D4Group*, HDF5CF::EOS5File*);
59 void gen_dap_oneeos5cvar_dmr(libdap::D4Group*,const HDF5CF::EOS5CVar*,const hid_t, const std::string &);
60 void gen_dap_eos5cf_gm_dmr(libdap::D4Group*,HDF5CF::EOS5File*);
61 void gen_gm_proj_spvar_info(libdap::D4Group* d4_root,HDF5CF::EOS5File* f);
62 void gen_gm_oneproj_var(libdap::D4Group*, const HDF5CF::EOS5CVar*, const unsigned short);
63 void gen_gm_oneproj_spvar(libdap::D4Group*, const HDF5CF::EOS5CVar*);
64 void gen_gm_proj_var_info(libdap::D4Group* ,HDF5CF::EOS5File* );
65 void add_var_sp_attrs_to_dap4(libdap::BaseType *d4_var,const HDF5CF::EOS5CVar* cvar);
66 
67 void read_ecs_metadata(hid_t file_id, std::string & st_str, std::string & core_str, std::string & arch_str,std::string &xml_str, std::string& subset_str, std::string & product_str,std::string &other_str,bool st_only);
68 int get_metadata_num(const std::string &);
69 #endif
This class specifies the core engineering of mapping HDF5 to DAP by following CF.
This class is a derived class of CVar. It represents a coordinate variable for HDF-EOS5 files.
Definition: HDF5CF.h:450
This class is a derived class of File. It includes methods applied to HDF-EOS5 files only.
Definition: HDF5CF.h:1203
Functions to generate DDS and DAS for one object(variable).