30#include <libdap/DataDDS.h>
32#include <BESRequestHandlerList.h>
33#include <BESDapNames.h>
34#include <BESDataDDSResponse.h>
36#include "BESXDNames.h"
37#include "BESXDTransmit.h"
38#include "BESXDResponseHandler.h"
42BESXDResponseHandler::BESXDResponseHandler(
const string &name) :
47BESXDResponseHandler::~BESXDResponseHandler()
66 dhi.action_name = XD_RESPONSE_STR;
70 DDS *dds =
new DDS(NULL,
"virtual");
72 d_response_object = bdds;
73 d_response_name = DATA_RESPONSE;
74 dhi.
action = DATA_RESPONSE;
75 BESRequestHandlerList::TheList()->execute_each(dhi);
78 d_response_object = bdds;
95 if (d_response_object) {
96 transmitter->send_response(XD_TRANSMITTER, d_response_object, dhi);
101BESXDResponseHandler::XDResponseBuilder(
const string &handler_name)
Represents an OPeNDAP DataDDS DAP2 data object within the BES.
Structure storing information used by the BES to handle the request.
std::string action
the response object requested, e.g. das, dds
handler object that knows how to create a specific response object
response handler that builds an OPeNDAP ASCII response object
virtual void execute(BESDataHandlerInterface &dhi)
executes the command 'get ascii for <def_name>' by executing the request for each container in the sp...
virtual void transmit(BESTransmitter *transmitter, BESDataHandlerInterface &dhi)
transmit the response object built by the execute command using the specified transmitter object