bes Updated for version 3.21.1
The Backend Server (BES) is the lower two tiers of the Hyrax data server
WWWByte.cc
1
2// -*- mode: c++; c-basic-offset:4 -*-
3
4// This file is part of www_int, software which returns an HTML form which
5// can be used to build a URL to access data from a DAP data server.
6
7// Copyright (c) 2002,2003 OPeNDAP, Inc.
8// Author: James Gallagher <jgallagher@opendap.org>
9//
10// This library is free software; you can redistribute it and/or
11// modify it under the terms of the GNU Lesser General Public
12// License as published by the Free Software Foundation; either
13// version 2.1 of the License, or (at your option) any later version.
14//
15// This library is distributed in the hope that it will be useful,
16// but WITHOUT ANY WARRANTY; without even the implied warranty of
17// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18// Lesser General Public License for more details.
19//
20// You should have received a copy of the GNU Lesser General Public
21// License along with this library; if not, write to the Free Software
22// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
23//
24// You can contact OPeNDAP, Inc. at PO Box 112, Saunderstown, RI. 02874-0112.
25
26// (c) COPYRIGHT URI/MIT 1999
27// Please read the full copyright statement in the file COPYRIGHT_URI.
28//
29// Authors:
30// jhrg,jimg James Gallagher <jgallagher@gso.uri.edu>
31
32// Implementation for WWWByte. See the comments in WWWByte.h
33//
34// 4/7/99 jhrg
35
36#include "config.h"
37
38static char rcsid[] not_used = {"$Id$"};
39
40// The NewByte `helper function' creates a pointer to an WWWByte and
41// returns that pointer. It takes the same arguments as the class's ctor. If
42// any of the variable classes are subclassed (e.g., to make a new Byte like
43// HDFByte) then the corresponding function here, and in the other class
44// definition files, needs to be changed so that it creates an instnace of
45// the new (sub)class. Continuing the earlier example, that would mean that
46// NewByte() would return a HDFByte, not a Byte.
47//
48// It is important that these function's names and return types do not change
49// - they are called by the parser code (for the dds, at least) so if their
50// names changes, that will break.
51//
52// The declarations for these fuctions (in util.h) should *not* need
53// changing.
54
55#include <stdio.h>
56
57#include <iostream>
58#include <string>
59
60//#include <libdap/InternalErr.h>
61
62#include "WWWByte.h"
63#include "WWWOutput.h"
64#include "get_html_form.h"
65
66using namespace dap_html_form;
67
68WWWByte::WWWByte(const string &n) : Byte(n)
69{
70}
71
72BaseType *
73WWWByte::ptr_duplicate()
74{
75 return new WWWByte(*this);
76}
77
78void
79WWWByte::print_val(FILE *os, string, bool /*print_decl_p*/)
80{
81 write_simple_variable(os, this);
82}
83
84void
85WWWByte::print_val(ostream &strm, string, bool /*print_decl_p*/)
86{
87 write_simple_variable(strm, this);
88}
89
STL class.