bes Updated for version 3.20.13
HDFTypeFactory.h
1// -*- mode: c++; c-basic-offset:4 -*-
2
3// This file is part of nc_handler, a data handler for the OPeNDAP data
4// server.
5
6// Copyright (c) 2002,2003 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 software; 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#ifndef nc_type_factory_h
26#define nc_type_factory_h
27
28#include <string>
29
30using std::string ;
31
32#include <libdap/BaseTypeFactory.h>
33
34using namespace libdap;
35
36// Class declarations; Make sure to include the corresponding headers in the
37// implementation file.
38
39class HDFByte;
40class HDFInt16;
41class HDFUInt16;
42class HDFInt32;
43class HDFUInt32;
44class HDFFloat32;
45class HDFFloat64;
46class HDFStr;
47class HDFUrl;
48class HDFArray;
49class HDFStructure;
50class HDFSequence;
51class HDFGrid;
52
57class HDFTypeFactory:public BaseTypeFactory {
58private:
59 string d_filename ;
61public:
62 explicit HDFTypeFactory( const string &filename ) : d_filename( filename ) {}
63 virtual ~HDFTypeFactory() {}
64
65 virtual Byte *NewByte(const string & n = "") const;
66 virtual Int16 *NewInt16(const string & n = "") const;
67 virtual UInt16 *NewUInt16(const string & n = "") const;
68 virtual Int32 *NewInt32(const string & n = "") const;
69 virtual UInt32 *NewUInt32(const string & n = "") const;
70 virtual Float32 *NewFloat32(const string & n = "") const;
71 virtual Float64 *NewFloat64(const string & n = "") const;
72
73 virtual Str *NewStr(const string & n = "") const;
74 virtual Url *NewUrl(const string & n = "") const;
75
76 virtual Array *NewArray(const string & n = "", BaseType * v = 0) const;
77 virtual Structure *NewStructure(const string & n = "") const;
78 virtual Sequence *NewSequence(const string & n = "") const;
79 virtual Grid *NewGrid(const string & n = "") const;
80};
81
82#endif
83
Definition: HDFStr.h:51
Definition: HDFUrl.h:50