OPeNDAP Hyrax Back End Server (BES)  Updated for version 3.8.3
FONgRequestHandler Class Reference

A Request Handler for the Fileout GDAL request. More...

#include <FONgRequestHandler.h>

Inheritance diagram for FONgRequestHandler:
Inheritance graph
Collaboration diagram for FONgRequestHandler:
Collaboration 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...
 
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...
 
 FONgRequestHandler (const string &name)
 Constructor for FileOut GDAL module. 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...
 
virtual ~FONgRequestHandler (void)
 Any cleanup that needs to take place. More...
 

Static Public Member Functions

static bool build_help (BESDataHandlerInterface &dhi)
 adds help information for FileOut GDAL to a help request More...
 
static bool build_version (BESDataHandlerInterface &dhi)
 add version information to a version response More...
 

Detailed Description

A Request Handler for the Fileout GDAL request.

This class is used to represent the Fileout GDAL module, including functions to build the help and version responses. Data handlers are used to build a Dap DataDDS object, so those functions are not needed here.

Definition at line 37 of file FONgRequestHandler.h.

Member Typedef Documentation

typedef map< string, p_request_handler >::const_iterator BESRequestHandler::Handler_citer
inherited

Definition at line 83 of file BESRequestHandler.h.

typedef map< string, p_request_handler >::iterator BESRequestHandler::Handler_iter
inherited

Definition at line 84 of file BESRequestHandler.h.

Constructor & Destructor Documentation

FONgRequestHandler::FONgRequestHandler ( const string &  name)

Constructor for FileOut GDAL module.

This constructor adds functions to add to the build of a help request and a version request to the BES.

Parameters
nameThe name of the request handler being added to the list of request handlers

Definition at line 42 of file FONgRequestHandler.cc.

References BESRequestHandler::add_handler(), build_help(), build_version(), HELP_RESPONSE, and VERS_RESPONSE.

Here is the call graph for this function:

FONgRequestHandler::~FONgRequestHandler ( void  )
virtual

Any cleanup that needs to take place.

Definition at line 51 of file FONgRequestHandler.cc.

Member Function Documentation

bool BESRequestHandler::add_handler ( const string &  handler_name,
p_request_handler  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 51 of file BESRequestHandler.cc.

References BESRequestHandler::find_handler().

Referenced by BESAsciiRequestHandler::BESAsciiRequestHandler(), BESDapRequestHandler::BESDapRequestHandler(), BESUsageRequestHandler::BESUsageRequestHandler(), BESWWWRequestHandler::BESWWWRequestHandler(), BESXDRequestHandler::BESXDRequestHandler(), CSVRequestHandler::CSVRequestHandler(), DapRequestHandler::DapRequestHandler(), FFRequestHandler::FFRequestHandler(), FitsRequestHandler::FitsRequestHandler(), FoJsonRequestHandler::FoJsonRequestHandler(), FONcRequestHandler::FONcRequestHandler(), FONgRequestHandler(), GatewayRequestHandler::GatewayRequestHandler(), GDALRequestHandler::GDALRequestHandler(), HDF4RequestHandler::HDF4RequestHandler(), HDF5RequestHandler::HDF5RequestHandler(), ncml_module::NCMLRequestHandler::NCMLRequestHandler(), NCRequestHandler::NCRequestHandler(), and W10nJsonRequestHandler::W10nJsonRequestHandler().

Here is the call graph for this function:

bool FONgRequestHandler::build_help ( BESDataHandlerInterface dhi)
static

adds help information for FileOut GDAL to a help request

Adds information to a help request to the BES regarding a file out geotiff response. Included in this information is a link to a docs.opendap.org page that describes fileout geotiff.

Parameters
dhiThe data interface containing information for the current request to the BES
Exceptions
BESInternalErrorif the response object is not an informational response object.

Definition at line 66 of file FONgRequestHandler.cc.

References BESInfo::begin_tag(), BESInfo::end_tag(), BESResponseHandler::get_response_object(), BESKeys::get_value(), PACKAGE_NAME, PACKAGE_VERSION, BESDataHandlerInterface::response_handler, and TheBESKeys::TheKeys().

Referenced by FONgRequestHandler().

Here is the call graph for this function:

bool FONgRequestHandler::build_version ( BESDataHandlerInterface dhi)
static

add version information to a version response

Adds the version of this module to the version response.

Parameters
dhiThe data interface containing information for the current request to the BES

Definition at line 101 of file FONgRequestHandler.cc.

References BESVersionInfo::add_module(), BESResponseHandler::get_response_object(), PACKAGE_NAME, PACKAGE_VERSION, and BESDataHandlerInterface::response_handler.

Referenced by FONgRequestHandler().

Here is the call graph for this function:

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

dumps information about this object

Displays the pointer value of this instance

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

Reimplemented from BESRequestHandler.

Definition at line 122 of file FONgRequestHandler.cc.

References BESRequestHandler::dump(), BESIndent::Indent(), BESIndent::LMarg(), and BESIndent::UnIndent().

Here is the call graph for this function:

p_request_handler BESRequestHandler::find_handler ( const string &  handler_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 93 of file BESRequestHandler.cc.

Referenced by BESRequestHandler::add_handler(), BESRequestHandlerList::execute_all(), and BESRequestHandlerList::execute_current().

string BESRequestHandler::get_handler_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.

virtual const string& BESRequestHandler::get_name ( ) const
inlinevirtualinherited

Definition at line 86 of file BESRequestHandler.h.

bool BESRequestHandler::remove_handler ( const string &  handler_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 70 of file BESRequestHandler.cc.


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