bes Updated for version 3.21.1
The Backend Server (BES) is the lower two tiers of the Hyrax data server
GDALTypes.h
1// This file is part of the GDAL OPeNDAP Adapter
2
3// Copyright (c) 2004 OPeNDAP, Inc.
4// Author: Frank Warmerdam <warmerdam@pobox.com>
5//
6// This library is free software; you can redistribute it and/or
7// modify it under the terms of the GNU Lesser General Public
8// License as published by the Free Software Foundation; either
9// version 2.1 of the License, or (at your option) any later version.
10//
11// This library is distributed in the hope that it will be useful,
12// but WITHOUT ANY WARRANTY; without even the implied warranty of
13// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14// Lesser General Public 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
22#ifndef _GDALTypes_h
23#define _GDALTypes_h 1
24
25#include <gdal.h>
26
27#include <libdap/Array.h>
28#include <libdap/Grid.h>
29
30/************************************************************************/
31/* GDALArray */
32/************************************************************************/
33
34class GDALArray: public libdap::Array {
35 string filename;
36 GDALDataType eBufType;
37 int iBandNum;
38
39 void m_duplicate(const GDALArray &a);
40
41public:
42 GDALArray(const string &n = "", BaseType *v = 0);
43 GDALArray(const string &name, BaseType *proto, const string &filenameIn, GDALDataType eBufTypeIn, int iBandNumIn);
44 GDALArray(const GDALArray &src);
45 virtual ~GDALArray();
46
47 virtual BaseType *ptr_duplicate();
48
49 virtual int get_gdal_band_num() const { return iBandNum; }
50 virtual GDALDataType get_gdal_buf_type() const { return eBufType; }
51
52 virtual bool read();
53};
54
55/************************************************************************/
56/* GDALGrid */
57/************************************************************************/
58
59class GDALGrid: public libdap::Grid {
60 string filename;
61 void m_duplicate(const GDALGrid &g);
62
63public:
64 GDALGrid(const GDALGrid &rhs);
65 GDALGrid(const string &filenameIn, const string &name);
66
67 virtual ~GDALGrid();
68
69 GDALGrid &operator=(const GDALGrid &rhs);
70
71 virtual BaseType *ptr_duplicate();
72
73 virtual bool read();
74};
75
76#endif // ndef _GDALTypes_h
77
78