33 #ifndef BESDataHandlerInterface_h_ 34 #define BESDataHandlerInterface_h_ 1 51 #include "BESContainer.h" 52 #include "BESInternalError.h" 62 ostream *output_stream;
70 typedef map<string, string>::const_iterator data_citer;
74 list<BESContainer *> containers;
75 list<BESContainer *>::iterator containers_iterator;
101 output_stream(0), response_handler(0), container(0), executed(false), error_info(0)
119 void set_output_stream(ostream *strm)
122 string err =
"output stream has already been set";
125 output_stream = strm;
128 ostream &get_output_stream()
131 throw BESInternalError(
"output stream has not yet been set, cannot use", __FILE__, __LINE__);
132 return *output_stream;
141 containers_iterator = containers.begin();
142 if (containers_iterator != containers.end())
143 container = (*containers_iterator);
152 containers_iterator++;
153 if (containers_iterator != containers.end())
154 container = (*containers_iterator);
159 const map<string, string> &data_c()
const 164 void dump(ostream &strm)
const;
167 #endif // BESDataHandlerInterface_h_ void clean()
clean up any information created within this data handler interface
void dump(ostream &strm) const
dumps information about this object
exception thrown if inernal error encountered
void next_container()
set the container pointer to the next * container in the list, null if at the end or no containers in...
void make_copy(const BESDataHandlerInterface ©_from)
deprecated
Base object for bes objects.
handler object that knows how to create a specific response object
informational response object
BESResponseObject * get_response_object()
returns the response object using the response handler
string transmit_protocol
request protocol, such as HTTP
Structure storing information used by the BES to handle the request.
map< string, string > data
the map of string data that will be required for the current request.
void first_container()
set the container pointer to the first container in the containers list
BESInfo * error_info
error information object
A container is something that holds data. I.E. a netcdf file or a database entry. ...
Abstract base class representing a specific set of information in response to a request to the BES...
string action
the response object requested, e.g. das, dds
BESContainer * container
pointer to current container in this interface