32#include "AggMemberDatasetUsingLocationRef.h" 
   34#include "BESDataDDSResponse.h"  
   35#include <libdap/DDS.h>  
   40#include "BESStopWatch.h" 
   45#define prolog string("AggMemberDatasetUsingLocationRef::").append(__func__).append("() - ") 
   49AggMemberDatasetUsingLocationRef::AggMemberDatasetUsingLocationRef(
const std::string& locationToLoad,
 
   50    const agg_util::DDSLoader& loaderToUse) :
 
   55AggMemberDatasetUsingLocationRef::~AggMemberDatasetUsingLocationRef()
 
   60AggMemberDatasetUsingLocationRef::AggMemberDatasetUsingLocationRef(
const AggMemberDatasetUsingLocationRef& proto) :
 
   61    RCObjectInterface(), AggMemberDatasetWithDimensionCacheBase(proto), _loader(proto._loader) 
 
   65AggMemberDatasetUsingLocationRef&
 
   66AggMemberDatasetUsingLocationRef::operator=(
const AggMemberDatasetUsingLocationRef& that)
 
   72        AggMemberDatasetWithDimensionCacheBase::operator=(that);
 
   82    if (!_pDataResponse) {
 
   87        pDDSRet = _pDataResponse->get_dds();
 
 
   93void AggMemberDatasetUsingLocationRef::loadDDS()
 
   95    BES_STOPWATCH_START(MODULE, prolog + 
"Timing");
 
   98    if (getLocation().empty()) {
 
   99        THROW_NCML_INTERNAL_ERROR(
"AggMemberDatasetUsingLocationRef():" 
  100            " got empty location!  Cannot load!");
 
  108    NCML_ASSERT_MSG(_pDataResponse,
 
  109        "AggMemberDatasetUsingLocationRef::loadDDS(): failed to get a BESDataDDSResponse back while loading location=" 
  114    (void) newResponse.release();
 
  116    BESDEBUG(
"ncml", 
"Loading loadDDS for aggregation member location = " << getLocation() << endl);
 
  117    _loader.loadInto(getLocation(), DDSLoader::eRT_RequestDataDDS, _pDataResponse);
 
  120void AggMemberDatasetUsingLocationRef::cleanup() noexcept
 
  122    SAFE_DELETE(_pDataResponse);
 
  125void AggMemberDatasetUsingLocationRef::copyRepFrom(
const AggMemberDatasetUsingLocationRef& rhs)
 
  127    _loader = rhs._loader;
 
  128    _pDataResponse = 
nullptr; 
 
Represents an OPeNDAP DataDDS DAP2 data object within the BES.
const libdap::DDS * getDDS() override
static std::unique_ptr< BESDapResponse > makeResponseForType(ResponseType type)
Helper class for temporarily hijacking an existing dhi to load a DDX response for one particular file...