OPeNDAP Hyrax Back End Server (BES)  Updated for version 3.8.3
HDF5Structure.h
Go to the documentation of this file.
1 // This file is part of hdf5_handler a HDF5 file handler for the OPeNDAP
2 // data server.
3 
4 // Author: Hyo-Kyung Lee <hyoklee@hdfgroup.org> and Muqun Yang
5 // <myang6@hdfgroup.org>
6 
7 // Copyright (c) 2009-2013 The HDF Group, Inc. and OPeNDAP, Inc.
8 //
9 // This is free software; you can redistribute it and/or modify it under the
10 // terms of the GNU Lesser General Public License as published by the Free
11 // Software Foundation; either version 2.1 of the License, or (at your
12 // option) any later version.
13 //
14 // This software is distributed in the hope that it will be useful, but
15 // WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16 // or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
17 // License for more details.
18 //
19 // You should have received a copy of the GNU Lesser General Public
20 // License along with this library; if not, write to the Free Software
21 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
22 //
23 // You can contact OPeNDAP, Inc. at PO Box 112, Saunderstown, RI. 02874-0112.
24 // You can contact The HDF Group, Inc. at 1800 South Oak Street,
25 // Suite 203, Champaign, IL 61820
26 
27 #ifndef _HDF5Structure_h
28 #define _HDF5Structure_h 1
29 
30 #include <string>
31 #include <H5Ipublic.h>
32 #include "Structure.h"
33 #include "h5get.h"
34 
35 using namespace libdap;
36 
44 class HDF5Structure:public Structure {
45  private:
46  hid_t dset_id;
47  hid_t ty_id;
48  int array_index;
49  int array_size; // size constrained by constraint expression
50  int array_entire_size; // entire size in case of array of structure
51 
52  public:
54  HDF5Structure(const string &n, const string &d);
55  virtual ~ HDF5Structure();
56 
58  HDF5Structure & operator=(const HDF5Structure & rhs);
59 
64  virtual BaseType *ptr_duplicate();
65 
67  virtual bool read();
68 
70  friend string return_type(hid_t datatype);
71 
73  hid_t get_did();
75  hid_t get_tid();
76 
78  int get_array_index();
80  int get_array_size();
82  int get_entire_array_size();
83 
85  void set_did(hid_t dset);
87  void set_tid(hid_t type);
88 
90  void set_array_index(int i);
92  void set_array_size(int i);
94  void set_entire_array_size(int i);
95 
96 
97 };
98 
99 #endif
static class NCMLUtil overview
Helper functions to generate DDS/DAS/DODS for the default option.