33#ifndef BESDataHandlerInterface_h_
34#define BESDataHandlerInterface_h_ 1
46#include "BESContainer.h"
47#include "BESInternalError.h"
48#include "BESResponseHandler.h"
58 std::ostream *output_stream;
66 typedef std::map<std::string, std::string>::const_iterator data_citer;
70 std::list<BESContainer *> containers;
71 std::list<BESContainer *>::iterator containers_iterator;
80 std::string action_name;
90 std::map<std::string, std::string>
data;
115 void set_output_stream(std::ostream *strm)
118 std::string err =
"output stream has already been set";
121 output_stream = strm;
124 std::ostream &get_output_stream()
127 throw BESInternalError(
"output stream has not yet been set, cannot use", __FILE__, __LINE__);
128 return *output_stream;
137 containers_iterator = containers.begin();
138 if (containers_iterator != containers.end())
148 containers_iterator++;
149 if (containers_iterator != containers.end())
155 const std::map<std::string, std::string> &data_c()
const
160 void dump(std::ostream &strm)
const;
A container is something that holds data. E.G., a netcdf file or a database entry.
Structure storing information used by the BES to handle the request.
void dump(std::ostream &strm) const
dumps information about this object
std::string transmit_protocol
request protocol, such as HTTP
void make_copy(const BESDataHandlerInterface ©_from)
deprecated
std::map< std::string, std::string > data
the map of string data that will be required for the current request.
std::string action
the response object requested, e.g. das, dds
void clean()
clean up any information created within this data handler interface
void first_container()
set the container pointer to the first container in the containers list
BESContainer * container
pointer to current container in this interface
BESResponseObject * get_response_object()
returns the response object using the response handler
BESInfo * error_info
error information object
void next_container()
set the container pointer to the next * container in the list, null if at the end or no containers in...
informational response object
exception thrown if internal error encountered
top level BES object to house generic methods
handler object that knows how to create a specific response object
Abstract base class representing a specific set of information in response to a request to the BES.