bes  Updated for version 3.20.6
DmrppD4Enum.h
1 
2 // -*- mode: c++; c-basic-offset:4 -*-
3 
4 // This file is part of the BES
5 
6 // Copyright (c) 2016 OPeNDAP, Inc.
7 // Author: James Gallagher <jgallagher@opendap.org>
8 //
9 // This library is free software; you can redistribute it and/or
10 // modify it under the terms of the GNU Lesser General Public
11 // License as published by the Free Software Foundation; either
12 // version 2.1 of the License, or (at your option) any later version.
13 //
14 // This library is distributed in the hope that it will be useful,
15 // but WITHOUT ANY WARRANTY; without even the implied warranty of
16 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 // Lesser General Public 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 #ifndef _dmrpp_d4enum_h
26 #define _dmrpp_d4enum_h 1
27 
28 #include <string>
29 
30 #include <D4Enum.h>
31 #include "DmrppCommon.h"
32 
33 namespace libdap {
34 class XMLWriter;
35 }
36 
37 namespace dmrpp {
38 
39 class DmrppD4Enum: public libdap::D4Enum, public DmrppCommon {
40  void _duplicate(const DmrppD4Enum &ts);
41 
42 public:
43  DmrppD4Enum(const std::string &n, const string &enum_type);
44  DmrppD4Enum(const std::string &n, libdap::Type type);
45  DmrppD4Enum(const std::string &n, const std::string &d, libdap::Type type);
46 
47  DmrppD4Enum(const DmrppD4Enum &rhs);
48 
49  virtual ~DmrppD4Enum() {}
50 
51  DmrppD4Enum &operator=(const DmrppD4Enum &rhs);
52 
53  virtual libdap::BaseType *ptr_duplicate();
54 
55  virtual bool read();
56 
57  virtual void print_dap4(libdap::XMLWriter &writer, bool constrained = false)
58  {
59  DmrppCommon::print_dmrpp(writer, constrained);
60  }
61 
62  virtual void dump(ostream & strm) const;
63 };
64 
65 } // namespace dmrpp
66 
67 #endif // _dmrpp_d4enum_h
dmrpp::DmrppCommon
Size and offset information of data included in DMR++ files.
Definition: DmrppCommon.h:62
Type
Type
Type of JSON value.
Definition: cmr_module/rapidjson/rapidjson.h:603
libdap
Definition: BESDapFunctionResponseCache.h:35
dmrpp::DmrppD4Enum
Definition: DmrppD4Enum.h:39
dmrpp::DmrppCommon::print_dmrpp
void print_dmrpp(libdap::XMLWriter &writer, bool constrained=false)
Print the DMR++ response for the Scalar types.
Definition: DmrppCommon.cc:282