bes  Updated for version 3.20.6
dmrpp::DmrppRequestHandler Class Reference
Collaboration diagram for dmrpp::DmrppRequestHandler:
Collaboration graph

Public Types

typedef std::map< std::string, p_request_handler_method >::const_iterator Handler_citer
 
typedef std::map< std::string, p_request_handler_method >::iterator Handler_iter
 

Public Member Functions

virtual void add_attributes (BESDataHandlerInterface &dhi)
 
virtual bool add_handler (const std::string &name, p_request_handler_method method)
 Backward compatibility with the older version of this class. More...
 
virtual bool add_method (const std::string &name, p_request_handler_method method)
 add a handler method to the request handler that knows how to fill in a specific response object More...
 
 DmrppRequestHandler (const std::string &name)
 
virtual void dump (std::ostream &strm) const
 dumps information about this object More...
 
virtual p_request_handler_method find_method (const std::string &name)
 find the method that can handle the specified response object type More...
 
virtual time_t get_lmt (const std::string &name)
 Get the Last modified time for. More...
 
virtual std::string get_method_names ()
 return a comma separated list of response object types handled by this request handler More...
 
virtual const std::string & get_name () const
 
virtual bool remove_method (const std::string &name)
 remove the specified handler method from this request handler More...
 

Static Public Member Functions

static bool dap_build_dap2data (BESDataHandlerInterface &dhi)
 
static bool dap_build_dap4data (BESDataHandlerInterface &dhi)
 
static bool dap_build_das (BESDataHandlerInterface &dhi)
 
static bool dap_build_dds (BESDataHandlerInterface &dhi)
 
static bool dap_build_dmr (BESDataHandlerInterface &dhi)
 
static bool dap_build_help (BESDataHandlerInterface &dhi)
 
static bool dap_build_vers (BESDataHandlerInterface &dhi)
 

Static Public Attributes

static CurlHandlePoolcurl_handle_pool = 0
 
static unsigned int d_max_parallel_transfers = 8
 
static unsigned int d_min_size = 2097152
 
static bool d_use_parallel_transfers = true
 

Detailed Description

Definition at line 43 of file DmrppRequestHandler.h.

Constructor & Destructor Documentation

◆ DmrppRequestHandler()

dmrpp::DmrppRequestHandler::DmrppRequestHandler ( const std::string &  name)

Here we register all of our handler functions so that the BES Dispatch machinery knows what kinds of things we handle.

Definition at line 120 of file DmrppRequestHandler.cc.

Member Function Documentation

◆ add_handler()

virtual bool BESRequestHandler::add_handler ( const std::string &  name,
p_request_handler_method  method 
)
inlinevirtualinherited

Backward compatibility with the older version of this class.

Deprecated:

Definition at line 101 of file BESRequestHandler.h.

◆ add_method()

bool BESRequestHandler::add_method ( const std::string &  name,
p_request_handler_method  handler_method 
)
virtualinherited

add a handler method to the request handler that knows how to fill in a specific response object

Add a handler method for a specific response object to the request handler. The handler method takes a reference to a BESDataHandlerInterface and returns bool, true if the response object is filled in successfully by the method, false otherwise.

Parameters
handler_namename of the response object this method can fill in
handler_methoda function pointer to the method that can fill in the specified response object
Returns
true if the handler is added, false if it already exists
See also
BESResponseObject
BESResponseNames

Definition at line 58 of file BESRequestHandler.cc.

◆ dap_build_dap2data()

bool dmrpp::DmrppRequestHandler::dap_build_dap2data ( BESDataHandlerInterface dhi)
static

Produce a DAP2 Data Response (.dods) response from a DMRPP file.

Definition at line 261 of file DmrppRequestHandler.cc.

◆ dap_build_das()

bool dmrpp::DmrppRequestHandler::dap_build_das ( BESDataHandlerInterface dhi)
static

Produce a DAP2 DAS response from a DMRPP data set.

Definition at line 433 of file DmrppRequestHandler.cc.

◆ dap_build_dds()

bool dmrpp::DmrppRequestHandler::dap_build_dds ( BESDataHandlerInterface dhi)
static

Produce a DAP2 DDS response from a DMRPP file.

Definition at line 354 of file DmrppRequestHandler.cc.

◆ dap_build_dmr()

bool dmrpp::DmrppRequestHandler::dap_build_dmr ( BESDataHandlerInterface dhi)
static

Given a request for the DMR response, look at the data source and parse it's DMR/XML information. If the data source is a .dmr or .xml file, assume that's all the data source contains and that the plain DMR parser can be used. If the data source is a .dap file, assume it is a DAP4 data response that has been dumped to a file, sans MIME headers. Use the code in libdap::Connect to read the DMR.

Parameters
dhi
Returns
Always returns true
Exceptions
BESError,libdap::InternalErr,libdap::Error

Definition at line 179 of file DmrppRequestHandler.cc.

◆ dump()

void dmrpp::DmrppRequestHandler::dump ( std::ostream &  strm) const
virtual

dumps information about this object

Displays the pointer value of this instance, the name of the request handler, and the names of all registered handler functions

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

Reimplemented from BESRequestHandler.

Definition at line 537 of file DmrppRequestHandler.cc.

◆ find_method()

p_request_handler_method BESRequestHandler::find_method ( const std::string &  name)
virtualinherited

find the method that can handle the specified response object type

Find the method that can handle the specified response object type. The response object type is the same as the handler name.

Parameters
handler_namename of the method that can fill in the response object type
Returns
the method that can fill in the specified response object type
See also
BESResponseObject
BESResponseNames

Definition at line 95 of file BESRequestHandler.cc.

◆ get_lmt()

time_t BESRequestHandler::get_lmt ( const std::string &  name)
virtualinherited

Get the Last modified time for.

  • name

Handlers that need a more sophisticated method should subclass.

Parameters
name
Returns
The LMT

Definition at line 133 of file BESRequestHandler.cc.

◆ get_method_names()

string BESRequestHandler::get_method_names ( )
virtualinherited

return a comma separated list of response object types handled by this request handler

Returns
the comma separated list of response object types
See also
BESResponseObject
BESResponseNames

Definition at line 112 of file BESRequestHandler.cc.

◆ remove_method()

bool BESRequestHandler::remove_method ( const std::string &  name)
virtualinherited

remove the specified handler method from this request handler

Parameters
handler_namename of the method to be removed, same as the name of the response object
Returns
true if successfully removed, false if not found
See also
BESResponseNames

Definition at line 74 of file BESRequestHandler.cc.


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