29#ifndef __NCML_MODULE_DDSLOADER_H__
30#define __NCML_MODULE_DDSLOADER_H__
72 std::string _filename;
78 std::string _containerSymbol;
79 std::string _origAction;
80 std::string _origActionName;
86 static long _gensymID;
94 eRT_RequestDDX = 0, eRT_RequestDataDDS
142 std::unique_ptr<BESDapResponse> load(
const std::string& location, ResponseType type);
217 void removeContainerFromStorage();
227 static std::string getNextContainerName();
provides persistent storage for data storage information represented by a container.
A container is something that holds data. E.G., a netcdf file or a database entry.
Represents an OPeNDAP DAP response object within the BES.
Structure storing information used by the BES to handle the request.
Abstract base class representing a specific set of information in response to a request to the BES.
static std::unique_ptr< BESDapResponse > makeResponseForType(ResponseType type)
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.
DDSLoader(BESDataHandlerInterface &dhi)
Create a loader that will hijack dhi on a load call, then restore it's state.
static bool checkResponseIsValidType(ResponseType type, BESDapResponse *pResponse)
void cleanup()
restore dhi to clean state
BESDataHandlerInterface & getDHI() const
static std::string getActionForType(ResponseType type)
static std::string getActionNameForType(ResponseType type)
virtual ~DDSLoader()
Dtor restores the state of dhi Restores the state of the dhi to what it was when object if it is stil...
Helper class for temporarily hijacking an existing dhi to load a DDX response for one particular file...