bes Updated for version 3.21.1
The Backend Server (BES) is the lower two tiers of the Hyrax data server
HDFEOS2CFStrField.h
Go to the documentation of this file.
1// This file is part of the hdf4_handler implementing for the CF-compliant
2// Copyright (c) The HDF Group, Inc. and OPeNDAP, Inc.
3//
4// This is free software; you can redistribute it and/or modify it under the
5// terms of the GNU Lesser General Public License as published by the Free
6// Software Foundation; either version 2.1 of the License, or (at your
7// option) any later version.
8//
9// This software is distributed in the hope that it will be useful, but
10// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
11// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
12// License for more details.
13//
14// You should have received a copy of the GNU Lesser General Public
15// License along with this library; if not, write to the Free Software
16// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17//
18// You can contact OPeNDAP, Inc. at PO Box 112, Saunderstown, RI. 02874-0112.
19// You can contact The HDF Group, Inc. at 410 E University Ave,
20// Suite 200, Champaign, IL 61820
21
29
30#ifdef USE_HDFEOS2_LIB
31#ifndef _HDFEOS2CFSTRFIELD_H
32#define _HDFEOS2CFSTRFIELD_H
33
34// STL includes
35#include <string>
36
37// DODS includes
38#include <libdap/dods-limits.h>
39#include <libdap/Array.h>
40#include "mfhdf.h"
41#include "hdf.h"
42#include "HdfEosDef.h"
43
44
45class HDFEOS2CFStrField:public libdap::Array {
46 public:
47 HDFEOS2CFStrField(
48 const int rank,
49 const int gsfd,
50 const std::string &filename,
51 const std::string &objname,
52 const std::string &varname,
53 int grid_or_swath,
54 const std::string &n="",
55 libdap::BaseType*v=nullptr):
56 libdap::Array (n, v),
57 rank(rank),
58 gsfd(gsfd),
59 filename(filename),
60 objname(objname),
61 varname(varname),
62 grid_or_swath(grid_or_swath)
63 {
64 }
65
66 ~ HDFEOS2CFStrField() override = default;
67 libdap::BaseType *ptr_duplicate() override{
68 return new HDFEOS2CFStrField(*this);
69 }
70
71 // Standard way to pass the coordinates of the subsetted region from the client to the handlers
72 int format_constraint (int *cor, int *step, int *edg);
73
74 bool read() override;
75 private:
76 int rank;
77 int32 gsfd;
78 std::string filename;
79 std::string objname;
80 std::string varname;
81 int grid_or_swath;
82
83};
84
85#endif // _HDFEOS2CFSTRFIELD_H
86#endif
87