OPeNDAP Hyrax Back End Server (BES)  Updated for version 3.8.3
NCMLContainer.h
Go to the documentation of this file.
1 // NCMLContainer.h
2 
3 // -*- mode: c++; c-basic-offset:4 -*-
4 
5 // This file is part of wcs_module, A C++ module that can be loaded in to
6 // the OPeNDAP Back-End Server (BES) and is able to handle wcs 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 NCMLContainer_h_
34 #define NCMLContainer_h_ 1
35 
36 #include <string>
37 
38 using std::string ;
39 
40 #include "BESContainer.h"
41 
52 {
53 private:
54  string _xml_doc ;
55  bool _accessed ;
56  string _tmp_file_name ;
57 
59  : BESContainer(), _accessed( false ) {}
60 protected:
61  void _duplicate( NCMLContainer &copy_to ) ;
62 public:
63  NCMLContainer( const string &sym_name,
64  const string &real_name ) ;
65 
66  NCMLContainer( const NCMLContainer &copy_from ) ;
67 
68  virtual ~NCMLContainer() ;
69 
70  virtual BESContainer * ptr_duplicate( ) ;
71 
72  virtual string access() ;
73 
74  virtual bool release() ;
75 
76  virtual void dump( ostream &strm ) const ;
77 };
78 
79 #endif // NCMLContainer_h_
80 
Container representing a NCML request.
Definition: NCMLContainer.h:51
virtual void dump(ostream &strm) const
dumps information about this object
virtual BESContainer * ptr_duplicate()
pure abstract method to duplicate this instances of BESContainer
void _duplicate(NCMLContainer &copy_to)
virtual bool release()
release the NCML cached resources
virtual string access()
access the NCML target response by making the NCML request
virtual ~NCMLContainer()
A container is something that holds data.
Definition: BESContainer.h:60