bes  Updated for version 3.17.4
DapRequestHandler Class Reference
Inheritance diagram for DapRequestHandler:
Inheritance graph

Public Types

typedef map< string, p_request_handler >::const_iterator Handler_citer
 
typedef map< string, p_request_handler >::iterator Handler_iter
 

Public Member Functions

virtual bool add_handler (const string &handler_name, p_request_handler handler_method)
 add a handler method to the request handler that knows how to fill in a specific response object More...
 
 DapRequestHandler (const string &name)
 
virtual void dump (ostream &strm) const
 dumps information about this object More...
 
virtual p_request_handler find_handler (const string &handler_name)
 find the method that can handle the specified response object type More...
 
virtual string get_handler_names ()
 return a comma separated list of response object types handled by this request handler More...
 
virtual const string & get_name () const
 
virtual bool remove_handler (const string &handler_name)
 remove the specified handler method from this request handler More...
 

Static Public Member Functions

static bool dap_build_dap4data (BESDataHandlerInterface &dhi)
 
static bool dap_build_das (BESDataHandlerInterface &dhi)
 
static bool dap_build_data (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)
 

Detailed Description

Definition at line 35 of file DapRequestHandler.h.

Member Function Documentation

◆ add_handler()

bool BESRequestHandler::add_handler ( const string &  handler_name,
p_request_handler  handler_method 
)
virtualinherited

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 50 of file BESRequestHandler.cc.

References BESRequestHandler::find_handler().

◆ dap_build_das()

bool DapRequestHandler::dap_build_das ( BESDataHandlerInterface dhi)
static

◆ dap_build_dmr()

bool DapRequestHandler::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

Definition at line 265 of file DapRequestHandler.cc.

References BESContainer::access(), BESDataHandlerInterface::container, BESDapResponse::get_explicit_containers(), BESResponseHandler::get_response_object(), BESDapResponse::set_dap4_constraint(), and BESDapResponse::set_dap4_function().

◆ dump()

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

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 492 of file DapRequestHandler.cc.

References BESRequestHandler::dump().

◆ find_handler()

p_request_handler BESRequestHandler::find_handler ( const string &  handler_name)
virtualinherited

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 87 of file BESRequestHandler.cc.

◆ get_handler_names()

string BESRequestHandler::get_handler_names ( )
virtualinherited
Returns
the comma separated list of response object types
See also
BESResponseObject
BESResponseNames

Definition at line 104 of file BESRequestHandler.cc.

◆ remove_handler()

bool BESRequestHandler::remove_handler ( const string &  handler_name)
virtualinherited
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 66 of file BESRequestHandler.cc.


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