bes Updated for version 3.21.1
The Backend Server (BES) is the lower two tiers of the Hyrax data server
W10nJsonTransmitter.h
1// -*- mode: c++; c-basic-offset:4 -*-
2//
3// FoW10JsonTransmitter.h
4//
5// This file is part of BES JSON File Out Module
6//
7// Copyright (c) 2014 OPeNDAP, Inc.
8// Author: Nathan Potter <ndp@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// (c) COPYRIGHT URI/MIT 1995-1999
26// Please read the full copyright statement in the file COPYRIGHT_URI.
27//
28
29
30#ifndef A_W10nJsonTransmitter_h
31#define A_W10nJsonTransmitter_h 1
32
33#include <libdap/DataDDS.h>
34#include <libdap/ConstraintEvaluator.h>
35
36#include <BESTransmitter.h>
37
38class BESContainer;
39
49class W10nJsonTransmitter: public BESTransmitter {
50private:
51 static void return_temp_stream(const std::string &filename, std::ostream &strm);
52 static std::string temp_dir;
53 static std::string getProjectionClause(const std::string &constraintExpression);
54 static void checkConstraintForW10nCompatibility(const std::string &ce);
55 static std::string getProjectedVariableName(const std::string &constraintExpression);
56 static void cleanupW10nContexts();
57
58 friend struct ContextCleanup; // used to ensure cleanupW10nContexts is called
59
60public:
62 virtual ~W10nJsonTransmitter() { }
63
66};
67
68#endif /* A_W10nJsonTransmitter_h */
69
A container is something that holds data. E.G., a netcdf file or a database entry.
Structure storing information used by the BES to handle the request.
Abstract base class representing a specific set of information in response to a request to the BES.
static void send_data(BESResponseObject *obj, BESDataHandlerInterface &dhi)
The static method registered to transmit OPeNDAP data objects as a JSON file.
static void send_metadata(BESResponseObject *obj, BESDataHandlerInterface &dhi)
The static method registered to transmit OPeNDAP data objects as a JSON file.
W10nJsonTransmitter()
Construct the W10nJsonTransmitter.