41 const std::string& locationToLoad,
44 , _loader(loaderToUse)
57 , _loader(proto._loader)
77 const libdap::DataDDS*
87 pDDSRet = _pDataResponse->
get_dds();
94 AggMemberDatasetUsingLocationRef::loadDataDDS()
100 " got empty location! Cannot load!");
109 "AggMemberDatasetUsingLocationRef::loadDDS(): "
110 " failed to get a BESDataDDSResponse back"
113 newResponse.release();
115 BESDEBUG(
"ncml",
"Loading DataDDS for aggregation member location = " <<
getLocation() << endl);
120 AggMemberDatasetUsingLocationRef::cleanup() throw()
126 AggMemberDatasetUsingLocationRef::copyRepFrom(
const AggMemberDatasetUsingLocationRef& rhs)
128 _loader = rhs._loader;
static std::auto_ptr< BESDapResponse > makeResponseForType(ResponseType type)
Make a new response object for the requested type.
virtual const libdap::DataDDS * getDataDDS()
If not loaded yet, loads the DataDDS response, then returns it.
class AggMemberDatasetUsingLocationRef: Concrete subclass of AggMemberDataset for lazy-loading a loca...
virtual ~AggMemberDatasetUsingLocationRef()
Helper class for temporarily hijacking an existing dhi to load a DDX response for one particular file...
#define NCML_ASSERT_MSG(cond, msg)
AggMemberDatasetWithDimensionCacheBase & operator=(const AggMemberDatasetWithDimensionCacheBase &rhs)
const std::string & getLocation() const
The location to which the AggMemberDataset refers Note: this could be "" for some subclasses if they ...
void loadInto(const std::string &location, ResponseType type, BESDapResponse *pResponse)
Load a DDX or DataDDS response into the given pResponse object, which must be non-null.
AggMemberDatasetUsingLocationRef(const std::string &locationToLoad, const agg_util::DDSLoader &loaderToUse)
Represents an OPeNDAP DataDDS DAP2 data object within the BES.
#define THROW_NCML_INTERNAL_ERROR(msg)
AggMemberDatasetUsingLocationRef & operator=(const AggMemberDatasetUsingLocationRef &rhs)
#define BESDEBUG(x, y)
macro used to send debug information to the debug stream
Interface class for a reference counted object.