bes  Updated for version 3.20.6
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 
35 namespace httpd_catalog {
36 
37 class RemoteHttpResource;
38 
49 private:
51  RemoteHttpResource *d_remoteResource;
52 
54  BESContainer(), d_remoteResource(0)
55  {
56  }
57 
58 protected:
59  void _duplicate(HttpdCatalogContainer &copy_to);
60 
61 public:
62  HttpdCatalogContainer(const std::string &sym_name, const std::string &real_name, const std::string &type);
63 
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_
httpd_catalog::HttpdCatalogContainer::release
virtual bool release()
release the resources
Definition: HttpdCatalogContainer.cc:164
httpd_catalog::RemoteHttpResource
Definition: httpd_catalog_module/RemoteHttpResource.h:44
httpd_catalog::HttpdCatalogContainer::ptr_duplicate
virtual BESContainer * ptr_duplicate()
pure abstract method to duplicate this instances of BESContainer
Definition: HttpdCatalogContainer.cc:106
httpd_catalog::HttpdCatalogContainer::dump
virtual void dump(std::ostream &strm) const
dumps information about this object
Definition: HttpdCatalogContainer.cc:183
httpd_catalog::HttpdCatalogContainer
Container representing a remote request.
Definition: HttpdCatalogContainer.h:48
BESContainer
A container is something that holds data. E.G., a netcdf file or a database entry.
Definition: BESContainer.h:65
httpd_catalog::HttpdCatalogContainer::access
virtual std::string access()
access the remote target response by making the remote request
Definition: HttpdCatalogContainer.cc:125