bes Updated for version 3.21.1
The Backend Server (BES) is the lower two tiers of the Hyrax data server
HttpdCatalogContainer.h
1
2// -*- mode: c++; c-basic-offset:4 -*-
3//
4// This file is part of httpd_catalog_module, A C++ module that can be loaded in to
5// the OPeNDAP Back-End Server (BES) and is able to handle remote requests.
6//
7// Copyright (c) 2018 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//
26
27#ifndef I_HttpdCatalogContainer_H_
28#define I_HttpdCatalogContainer_H_ 1
29
30#include <string>
31#include <ostream>
32
33#include "BESContainer.h"
34#include "RemoteResource.h"
35
36
37namespace httpd_catalog {
38
48class HttpdCatalogContainer: public BESContainer {
49private:
51 http::RemoteResource *d_remoteResource;
52
53 HttpdCatalogContainer() :
54 BESContainer(), d_remoteResource(0)
55 {
56 }
57
58protected:
59 void _duplicate(HttpdCatalogContainer &copy_to);
60
61public:
62 HttpdCatalogContainer(const std::string &sym_name, const std::string &real_name, const std::string &type);
63
64 HttpdCatalogContainer(const HttpdCatalogContainer &copy_from);
65
66 virtual ~HttpdCatalogContainer();
67
68 virtual BESContainer * ptr_duplicate();
69
70 virtual std::string access();
71
72 virtual bool release();
73
74 virtual void dump(std::ostream &strm) const;
75};
76
77} // namespace http_catalog
78
79#endif // I_HttpdCatalogContainer_H_
virtual bool release()
release the resources
virtual std::string access()
access the remote target response by making the remote request
virtual void dump(std::ostream &strm) const
dumps information about this object
virtual BESContainer * ptr_duplicate()
pure abstract method to duplicate this instances of BESContainer