bes  Updated for version 3.20.6
BESDataHandlerInterface Class Reference

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

#include <BESDataHandlerInterface.h>

Collaboration diagram for BESDataHandlerInterface:
Collaboration graph

Public Types

typedef std::map< std::string, std::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 std::map< std::string, std::string > & data_c () const
 
void dump (std::ostream &strm) const
 dumps information about this object More...
 
void first_container ()
 set the container pointer to the first container in the containers list More...
 
std::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 More...
 
BESDataHandlerInterfaceoperator= (const BESDataHandlerInterface &rhs)
 
void set_output_stream (std::ostream *strm)
 

Public Attributes

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

Detailed Description

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

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

Definition at line 56 of file BESDataHandlerInterface.h.

Member Function Documentation

◆ clean()

void BESDataHandlerInterface::clean ( )

clean up any information created within this data handler interface

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

Definition at line 134 of file BESDataHandlerInterface.cc.

◆ dump()

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

dumps information about this object

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 167 of file BESDataHandlerInterface.cc.

◆ first_container()

void BESDataHandlerInterface::first_container ( )
inline

set the container pointer to the first container in the containers list

Definition at line 135 of file BESDataHandlerInterface.h.

◆ get_response_object()

BESResponseObject * BESDataHandlerInterface::get_response_object ( )

returns the response object using the response handler

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 150 of file BESDataHandlerInterface.cc.

◆ make_copy()

void BESDataHandlerInterface::make_copy ( const BESDataHandlerInterface copy_from)

deprecated

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 58 of file BESDataHandlerInterface.cc.

◆ next_container()

void BESDataHandlerInterface::next_container ( )
inline

set the container pointer to the next * container in the list, null if at the end or no containers in list

Definition at line 146 of file BESDataHandlerInterface.h.

Member Data Documentation

◆ action

std::string BESDataHandlerInterface::action

the response object requested, e.g. das, dds

Definition at line 79 of file BESDataHandlerInterface.h.

◆ container

BESContainer* BESDataHandlerInterface::container

pointer to current container in this interface

Definition at line 75 of file BESDataHandlerInterface.h.

◆ data

std::map<std::string, std::string> BESDataHandlerInterface::data

the map of string data that will be required for the current request.

Definition at line 90 of file BESDataHandlerInterface.h.

◆ error_info

BESInfo* BESDataHandlerInterface::error_info

error information object

Definition at line 94 of file BESDataHandlerInterface.h.

◆ transmit_protocol

std::string BESDataHandlerInterface::transmit_protocol

request protocol, such as HTTP

Definition at line 85 of file BESDataHandlerInterface.h.


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