OPeNDAP Hyrax Back End Server (BES)  Updated for version 3.8.3
GatewayContainer.h
Go to the documentation of this file.
1 // GatewayContainer.h
2 
3 // -*- mode: c++; c-basic-offset:4 -*-
4 
5 // This file is part of gateway_module, A C++ module that can be loaded in to
6 // the OPeNDAP Back-End Server (BES) and is able to handle remote requests.
7 
8 // Copyright (c) 2002,2003 OPeNDAP, Inc.
9 // Author: Patrick West <pwest@ucar.edu>
10 //
11 // This library is free software; you can redistribute it and/or
12 // modify it under the terms of the GNU Lesser General Public
13 // License as published by the Free Software Foundation; either
14 // version 2.1 of the License, or (at your option) any later version.
15 //
16 // This library is distributed in the hope that it will be useful,
17 // but WITHOUT ANY WARRANTY; without even the implied warranty of
18 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19 // Lesser General Public License for more details.
20 //
21 // You should have received a copy of the GNU Lesser General Public
22 // License along with this library; if not, write to the Free Software
23 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
24 //
25 // You can contact OPeNDAP, Inc. at PO Box 112, Saunderstown, RI. 02874-0112.
26 
27 // (c) COPYRIGHT URI/MIT 1994-1999
28 // Please read the full copyright statement in the file COPYRIGHT_URI.
29 //
30 // Authors:
31 // pcw Patrick West <pwest@ucar.edu>
32 
33 #ifndef GatewayContainer_h_
34 #define GatewayContainer_h_ 1
35 
36 #include <string>
37 
38 using std::string;
39 
40 #include <HTTPResponse.h>
41 
42 using namespace libdap;
43 
44 #include "BESContainer.h"
45 #include "RemoteHttpResource.h"
46 
57 private:
58  gateway::RemoteHttpResource *_remoteResource;
59 
61  BESContainer(), _remoteResource(0) {
62  }
63 protected:
64  void _duplicate(GatewayContainer &copy_to);
65 public:
66  GatewayContainer(const string &sym_name, const string &real_name,
67  const string &type);
68 
69  GatewayContainer(const GatewayContainer &copy_from);
70 
71  virtual ~GatewayContainer();
72 
73  virtual BESContainer * ptr_duplicate();
74 
75  virtual string access();
76 
77  virtual bool release();
78 
79  virtual void dump(ostream &strm) const;
80 };
81 
82 #endif // GatewayContainer_h_
static class NCMLUtil overview
This class encapsulates a remote resource available via HTTP GET.
A container is something that holds data.
Definition: BESContainer.h:60
Container representing a remote request.