bes  Updated for version 3.20.6
XDOutputFactory.h
1 
2 // -*- mode: c++; c-basic-offset:4 -*-
3 
4 // Copyright (c) 2010 OPeNDAP, Inc.
5 // Author: James Gallagher <jgallagher@opendap.org>
6 //
7 // This is free software; you can redistribute it and/or modify it under the
8 // terms of the GNU Lesser General Public License as published by the Free
9 // Software Foundation; either version 2.1 of the License, or (at your
10 // option) any later version.
11 //
12 // This is distributed in the hope that it will be useful, but WITHOUT ANY
13 // WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
14 // FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
15 // more details.
16 //
17 // You should have received a copy of the GNU Lesser General Public
18 // License along with this library; if not, write to the Free Software
19 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20 //
21 // You can contact OPeNDAP, Inc. at PO Box 112, Saunderstown, RI. 02874-0112.
22 
23 #ifndef xd_output_factory_h
24 #define xd_output_factory_h
25 
26 #include <string>
27 
28 #include "BaseTypeFactory.h"
29 
30 class XDByte;
31 class XDInt16;
32 class XDUInt16;
33 class XDInt32;
34 class XDUInt32;
35 class XDFloat32;
36 class XDFloat64;
37 class XDStr;
38 class XDUrl;
39 class XDArray;
40 class XDStructure;
41 class XDSequence;
42 class XDGrid;
43 
46 class XDOutputFactory : public libdap::BaseTypeFactory {
47 public:
48  XDOutputFactory() {}
49  virtual ~XDOutputFactory() {}
50 
51  virtual libdap::Byte *NewByte(const string &n = "") const;
52  virtual libdap::Int16 *NewInt16(const string &n = "") const;
53  virtual libdap::UInt16 *NewUInt16(const string &n = "") const;
54  virtual libdap::Int32 *NewInt32(const string &n = "") const;
55  virtual libdap::UInt32 *NewUInt32(const string &n = "") const;
56  virtual libdap::Float32 *NewFloat32(const string &n = "") const;
57  virtual libdap::Float64 *NewFloat64(const string &n = "") const;
58 
59  virtual libdap::Str *NewStr(const string &n = "") const;
60  virtual libdap::Url *NewUrl(const string &n = "") const;
61 
62  virtual libdap::Array *NewArray(const string &n = "", libdap::BaseType *v = 0) const;
63  virtual libdap::Structure *NewStructure(const string &n = "") const;
64  virtual libdap::Sequence *NewSequence(const string &n = "") const;
65  virtual libdap::Grid *NewGrid(const string &n = "") const;
66 };
67 
68 #endif // xd_output_factory_h
XDUInt16
Definition: XDUInt16.h:39
XDInt32
Definition: XDInt32.h:39
XDSequence
Definition: XDSequence.h:39
XDByte
Definition: XDByte.h:35
XDArray
Definition: XDArray.h:42
XDGrid
Definition: XDGrid.h:39
XDFloat32
Definition: XDFloat32.h:39
XDFloat64
Definition: XDFloat64.h:39
XDStr
Definition: XDStr.h:39
XDStructure
Definition: XDStructure.h:39
XDInt16
Definition: XDInt16.h:39
XDUInt32
Definition: XDUInt32.h:39
XDOutputFactory
Definition: XDOutputFactory.h:46
XDUrl
Definition: XDUrl.h:55