bes  Updated for version 3.17.4
BESDataHandlerInterface Class Reference

Structure storing information used by the BES to handle the request. More...

#include <BESDataHandlerInterface.h>

Inheritance diagram for BESDataHandlerInterface:
Inheritance graph

Public Types

typedef map< string, string >::const_iterator data_citer
 

Public Member Functions

 BESDataHandlerInterface (const BESDataHandlerInterface &from)
 
void clean ()
 clean up any information created within this data handler interface More...
 
const map< string, string > & data_c () const
 
void dump (ostream &strm) const
 dumps information about this object More...
 
void first_container ()
 set the container pointer to the first container in the containers list
 
ostream & get_output_stream ()
 
BESResponseObjectget_response_object ()
 returns the response object using the response handler More...
 
void make_copy (const BESDataHandlerInterface &copy_from)
 deprecated More...
 
void next_container ()
 set the container pointer to the next * container in the list, null if at the end or no containers in list
 
BESDataHandlerInterfaceoperator= (const BESDataHandlerInterface &rhs)
 
void set_output_stream (ostream *strm)
 

Public Attributes

string action
 the response object requested, e.g. das, dds
 
string action_name
 
BESContainercontainer
 pointer to current container in this interface
 
list< BESContainer * > containers
 
list< BESContainer * >::iterator containers_iterator
 
map< string, string > data
 the map of string data that will be required for the current request.
 
BESInfoerror_info
 error information object
 
bool executed
 
BESResponseHandlerresponse_handler
 
string transmit_protocol
 request protocol, such as HTTP
 

Detailed Description

This information is used throughout the BES framework to handle the request and to also store information for logging and reporting.

Definition at line 60 of file BESDataHandlerInterface.h.

Member Function Documentation

◆ clean()

void BESDataHandlerInterface::clean ( )

It is the job of the BESDataHandlerInterface to clean up the response handler

Definition at line 130 of file BESDataHandlerInterface.cc.

◆ dump()

void BESDataHandlerInterface::dump ( ostream &  strm) const
virtual

Displays the pointer value of this instance along with information about each of the data members held

Parameters
strmC++ i/o stream to dump the information to

Implements BESObj.

Definition at line 163 of file BESDataHandlerInterface.cc.

References action, container, data, BESInfo::dump(), BESResponseHandler::dump(), BESContainer::dump(), error_info, and transmit_protocol.

◆ get_response_object()

BESResponseObject * BESDataHandlerInterface::get_response_object ( )

If the response handler is set for this request then return the response object for the request using that response handler

Returns
The response object for this request

Definition at line 146 of file BESDataHandlerInterface.cc.

References BESResponseHandler::get_response_object().

◆ make_copy()

void BESDataHandlerInterface::make_copy ( const BESDataHandlerInterface copy_from)

make a copy of only some data from specified object

makes a copy of only some of the data members in a BESDataHandlerInterface. The container list and response handler should not be copied. Each BESDataHandlerInterface should represent a request/response, so each one should have it's own response handler.

Note
deprecated Now calls the new clone() method that copies the whole object given that Patrick said he didn't know why it only copied a few parts and it's not really copying that much. Note that the 'data' field is copied/assigned even if copy_from.data and this->data are the same object, which is an issue on clang 5
Parameters
copy_fromobject to copy information from

Definition at line 54 of file BESDataHandlerInterface.cc.


The documentation for this class was generated from the following files: