bes Updated for version 3.21.1
The Backend Server (BES) is the lower two tiers of the Hyrax data server
BESDataHandlerInterface Class Reference

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

#include <BESDataHandlerInterface.h>

Inheritance diagram for BESDataHandlerInterface:
Inheritance graph
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
 
const std::map< std::string, std::string > & data_c () const
 
void dump (std::ostream &strm) const override
 dumps information about this object
 
void first_container ()
 set the container pointer to the first container in the containers list
 
std::ostream & get_output_stream ()
 
BESResponseObjectget_response_object ()
 returns the response object using the response handler
 
void make_copy (const BESDataHandlerInterface &copy_from)
 deprecated
 
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 (std::ostream *strm)
 

Public Attributes

std::string action
 the response object requested, e.g. das, dds
 
std::string action_name
 
BESContainercontainer
 pointer to current container in this interface
 
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.
 
BESInfoerror_info
 error information object
 
bool executed
 
BESResponseHandlerresponse_handler
 
std::string transmit_protocol
 request protocol, such as HTTP
 

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 Typedef Documentation

◆ data_citer

typedef std::map<std::string,std::string>::const_iterator BESDataHandlerInterface::data_citer

Definition at line 66 of file BESDataHandlerInterface.h.

Constructor & Destructor Documentation

◆ BESDataHandlerInterface() [1/2]

BESDataHandlerInterface::BESDataHandlerInterface ( )
inline

Definition at line 96 of file BESDataHandlerInterface.h.

◆ BESDataHandlerInterface() [2/2]

BESDataHandlerInterface::BESDataHandlerInterface ( const BESDataHandlerInterface & from)

Definition at line 110 of file BESDataHandlerInterface.cc.

◆ ~BESDataHandlerInterface()

BESDataHandlerInterface::~BESDataHandlerInterface ( )
inlineoverride

Definition at line 111 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.

◆ data_c()

const std::map< std::string, std::string > & BESDataHandlerInterface::data_c ( ) const
inline

Definition at line 160 of file BESDataHandlerInterface.h.

◆ dump()

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

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 140 of file BESDataHandlerInterface.h.

◆ get_output_stream()

std::ostream & BESDataHandlerInterface::get_output_stream ( )
inline

Definition at line 129 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 151 of file BESDataHandlerInterface.h.

◆ operator=()

BESDataHandlerInterface & BESDataHandlerInterface::operator= ( const BESDataHandlerInterface & rhs)

Definition at line 116 of file BESDataHandlerInterface.cc.

◆ set_output_stream()

void BESDataHandlerInterface::set_output_stream ( std::ostream * strm)
inline

Definition at line 120 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.

◆ action_name

std::string BESDataHandlerInterface::action_name

Definition at line 80 of file BESDataHandlerInterface.h.

◆ container

BESContainer* BESDataHandlerInterface::container

pointer to current container in this interface

Definition at line 75 of file BESDataHandlerInterface.h.

◆ containers

std::list<BESContainer *> BESDataHandlerInterface::containers

Definition at line 70 of file BESDataHandlerInterface.h.

◆ containers_iterator

std::list<BESContainer*>::iterator BESDataHandlerInterface::containers_iterator

Definition at line 71 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.

◆ executed

bool BESDataHandlerInterface::executed

Definition at line 81 of file BESDataHandlerInterface.h.

◆ response_handler

BESResponseHandler* BESDataHandlerInterface::response_handler

Definition at line 68 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: