bes  Updated for version 3.20.6
CmrContainerStorage.cc
1 // CmrContainerStorage.cc
2 
3 // -*- mode: c++; c-basic-offset:4 -*-
4 
5 // This file is part of cnr_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) 2018 OPeNDAP, Inc.
9 // Author: Nathan Potter <ndp@opendap.org>
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 // Authors:
28 // ndp Nathan Potter <ndp@opendap.org>
29 
30 #include "config.h"
31 
32 #include <string>
33 
34 #include "CmrContainerStorage.h"
35 #include "CmrContainer.h"
36 
37 using namespace std;
38 
39 #define MODULE "cmr"
40 #define prolog std::string("CmrContainerStorage::").append(__func__).append("() - ")
41 
42 namespace cmr {
50 CmrContainerStorage::CmrContainerStorage(const string &n) :
52 {
53 }
54 
55 CmrContainerStorage::~CmrContainerStorage()
56 {
57 }
58 
66 void CmrContainerStorage::add_container(const string &s_name, const string &r_name, const string &type)
67 {
68  BESContainer *c = new CmrContainer(s_name, r_name, type);
70 }
71 
79 void CmrContainerStorage::dump(ostream &strm) const
80 {
81  strm << BESIndent::LMarg << prolog << "(" << (void *) this << ")" << endl;
82  BESIndent::Indent();
84  BESIndent::UnIndent();
85 }
86 
87 }// namespace cmr
cmr::CmrContainer
Container representing a remote request.
Definition: CmrContainer.h:51
BESContainerStorageVolatile::dump
virtual void dump(std::ostream &strm) const
dumps information about this object
Definition: BESContainerStorageVolatile.cc:303
BESContainerStorageVolatile::add_container
virtual void add_container(BESContainer *c)
add the passed container to the list of containers in volatile storage
Definition: BESContainerStorageVolatile.cc:183
cmr::CmrContainerStorage::dump
virtual void dump(std::ostream &strm) const
dumps information about this object
Definition: CmrContainerStorage.cc:79
BESContainerStorageVolatile
implementation of BESContainerStorage that stores containers in memory for the duration of this proce...
Definition: BESContainerStorageVolatile.h:57
BESContainer
A container is something that holds data. E.G., a netcdf file or a database entry.
Definition: BESContainer.h:65
cmr::CmrContainerStorage::add_container
virtual void add_container(const std::string &s_name, const std::string &r_name, const std::string &type)
adds a container with the provided information
Definition: CmrContainerStorage.cc:66