bes Updated for version 3.21.1
The Backend Server (BES) is the lower two tiers of the Hyrax data server
w10n_utils.h
1// -*- mode: c++; c-basic-offset:4 -*-
2//
3// w10n_utils.h
4//
5// This file is part of BES w10n handler
6//
7// Copyright (c) 2015v 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// Please read the full copyright statement in the file COPYRIGHT_URI.
26//
27
28#ifndef E_w10n_util_h
29#define E_w10n_util_h 1
30
31#include <string>
32#include <list>
33#include <iostream>
34
35#include <libdap/DDS.h>
36#include <libdap/Array.h>
37#include <libdap/Constructor.h>
38
39namespace w10n {
41void eval_resource_path(const string &w10nResourceId, const string &catalogRoot, const bool follow_sym_links,
42 string &validPath, bool &isFile, bool &isDir, string &remainder);
43
44std::string escape_for_json(const std::string& input);
45
46// std::string backslash_escape(std::string source, char char_to_escape);
47
48long computeConstrainedShape(libdap::Array *a, std::vector<unsigned int> *shape);
49void checkConstructorForW10nDataCompatibility(libdap::Constructor *constructor);
50void checkConstrainedDDSForW10nDataCompatibility(libdap::DDS *dds);
51bool allVariablesMarkedToSend(libdap::DDS *dds);
52bool allVariablesMarkedToSend(libdap::Constructor *ctor);
53
54} // namespace w10n
55
56#endif // E_w10n_util_h
57