bes
Updated for version 3.20.13
AggMemberDatasetUsingLocationRef.h
1
2
// This file is part of the "NcML Module" project, a BES module designed
3
// to allow NcML files to be used to be used as a wrapper to add
4
// AIS to existing datasets of any format.
5
//
6
// Copyright (c) 2010 OPeNDAP, Inc.
7
// Author: Michael Johnson <m.johnson@opendap.org>
8
//
9
// For more information, please also see the main website: http://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
// Please see the files COPYING and COPYRIGHT for more information on the GLPL.
26
//
27
// You can contact OPeNDAP, Inc. at PO Box 112, Saunderstown, RI. 02874-0112.
29
#ifndef __AGG_UTIL__AGG_MEMBER_DATASET_USING_LOCATION_REF_H__
30
#define __AGG_UTIL__AGG_MEMBER_DATASET_USING_LOCATION_REF_H__
31
32
#include <string>
33
34
#include "AggMemberDatasetWithDimensionCacheBase.h"
35
#include "DDSLoader.h"
36
37
class
BESDataDDSResponse
;
38
39
namespace
libdap
{
40
class
DDS;
41
}
42
43
using
libdap::DDS;
44
45
namespace
agg_util
{
46
61
class
AggMemberDatasetUsingLocationRef
:
public
agg_util::AggMemberDatasetWithDimensionCacheBase
{
62
public
:
63
64
AggMemberDatasetUsingLocationRef
(
const
std::string& locationToLoad,
const
agg_util::DDSLoader
& loaderToUse);
65
66
AggMemberDatasetUsingLocationRef
(
const
AggMemberDatasetUsingLocationRef
& proto);
67
AggMemberDatasetUsingLocationRef
& operator=(
const
AggMemberDatasetUsingLocationRef
& rhs);
68
69
~AggMemberDatasetUsingLocationRef
()
override
;
70
75
const
libdap::DDS*
getDDS
()
override
;
76
77
private
:
78
// helpers
79
82
void
loadDDS();
83
85
void
copyRepFrom(
const
AggMemberDatasetUsingLocationRef
& rhs);
86
87
void
cleanup()
noexcept
;
88
89
DDSLoader
_loader;
// for loading
90
BESDataDDSResponse
* _pDataResponse {
nullptr
};
// holds our loaded DDS
91
};
92
93
}
94
95
#endif
/* __AGG_UTIL__AGG_MEMBER_DATASET_USING_LOCATION_REF_H__ */
BESDataDDSResponse
Represents an OPeNDAP DataDDS DAP2 data object within the BES.
Definition:
BESDataDDSResponse.h:46
agg_util::AggMemberDatasetUsingLocationRef
Definition:
AggMemberDatasetUsingLocationRef.h:61
agg_util::AggMemberDatasetUsingLocationRef::getDDS
const libdap::DDS * getDDS() override
Definition:
AggMemberDatasetUsingLocationRef.cc:76
agg_util::AggMemberDatasetWithDimensionCacheBase
Definition:
AggMemberDatasetWithDimensionCacheBase.h:41
agg_util::DDSLoader
Definition:
DDSLoader.h:62
agg_util
Helper class for temporarily hijacking an existing dhi to load a DDX response for one particular file...
Definition:
AggMemberDataset.cc:36
libdap
Definition:
BESDapFunctionResponseCache.h:35
modules
ncml_module
AggMemberDatasetUsingLocationRef.h
Generated by
1.9.6