bes Updated for version 3.21.1
The Backend Server (BES) is the lower two tiers of the Hyrax data server
HDFSequence.h
1// This file is part of the hdf4 data handler for the OPeNDAP data server.
2
3// Copyright (c) 2005 OPeNDAP, Inc.
4// Author: James Gallagher <jgallagher@opendap.org>
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 License
17// along with this software; if not, write to the Free Software Foundation,
18// 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
23// Copyright 1996, by the California Institute of Technology.
24// ALL RIGHTS RESERVED. United States Government Sponsorship
25// acknowledged. Any commercial use must be negotiated with the
26// Office of Technology Transfer at the California Institute of
27// Technology. This software may be subject to U.S. export control
28// laws and regulations. By accepting this software, the user
29// agrees to comply with all applicable U.S. export laws and
30// regulations. User has the responsibility to obtain export
31// licenses, or other export authority as may be required before
32// exporting such information to foreign countries or providing
33// access to foreign persons.
34
35// Author: Todd Karakashian, NASA/Jet Propulsion Laboratory
36// Todd.K.Karakashian@jpl.nasa.gov
37//
39
40#ifndef _HDFSEQUENCE_H
41#define _HDFSEQUENCE_H
42
43// STL includes
44#include <string>
45
46// DODS includes
47#include <libdap/Sequence.h>
48
49#include <hdfclass.h>
50#include "ReadTagRef.h"
51
52
53class HDFSequence:public libdap::Sequence, public ReadTagRef {
54 public:
55 HDFSequence(const std::string &n, const std::string &d);
56 ~ HDFSequence() override;
57 libdap::BaseType *ptr_duplicate() override;
58 bool read() override;
59 bool read_tagref(int32 tag, int32 ref, int &error) override;
60
61 void transfer_attributes(libdap::AttrTable *at_container) override;
62
63 private:
64 int row = 0; // current row
65 hdf_vdata vd; // holds Vdata
66};
67
68#endif // _HDFSEQUENCE_H
69