bes Updated for version 3.21.1
The Backend Server (BES) is the lower two tiers of the Hyrax data server
FFArray.h
1// -*- mode: c++; c-basic-offset:4 -*-
2
3// This file is part of ff_handler a FreeForm API handler for the OPeNDAP
4// DAP2 data server.
5
6// Copyright (c) 2005 OPeNDAP, Inc.
7// Author: James Gallagher <jgallagher@opendap.org>
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
25// (c) COPYRIGHT URI/MIT 1997-98
26// Please read the full copyright statement in the file COPYRIGHT.
27//
28// Authors: reza (Reza Nekovei)
29
30// FreeFrom sub-class implementation for FFByte,...FFGrid.
31// The files are patterned after the subcalssing examples
32// Test<type>.c,h files.
33//
34// ReZa 6/18/97
35
36#ifndef _ffarray_h
37#define _ffarray_h 1
38
39#include <string>
40
41#include <libdap/Array.h>
42
43using namespace libdap;
44
45class FFArray: public Array {
46private:
47 string d_input_format_file;
48
49
50 long Arr_constraint(long *cor, long *step, long *edg, string *dim_nms, bool *has_stride);
51
53 template<class T> bool extract_array(const string &ds, const string &if_fmt, const string &o_fmt);
54
55public:
56 FFArray(const string &n, const string &d, BaseType *v, const string &iff);
57 virtual ~FFArray();
58
59 virtual BaseType *ptr_duplicate();
60
61 virtual bool read();
62};
63
64#endif