#include <RequestHandler.h>
Public Types | |
typedef map< string, p_request_handler > ::const_iterator | Handler_citer |
typedef map< string, p_request_handler >::iterator | Handler_iter |
Public Member Functions | |
OPENDAP_CLASSRequestHandler (const string &name) | |
virtual | ~OPENDAP_CLASSRequestHandler (void) |
virtual void | dump (ostream &strm) const |
dumps information about this object | |
virtual const string & | get_name () const |
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 | |
virtual bool | remove_handler (const string &handler_name) |
remove the specified handler method from this request handler | |
virtual p_request_handler | find_handler (const string &handler_name) |
find the method that can handle the specified response object type | |
virtual string | get_handler_names () |
return a comma separated list of response object types handled by this request handler | |
Static Public Member Functions | |
static bool | OPENDAP_TYPE_build_vers (BESDataHandlerInterface &dhi) |
static bool | OPENDAP_TYPE_build_help (BESDataHandlerInterface &dhi) |
Definition at line 8 of file RequestHandler.h.
typedef map< string, p_request_handler >::const_iterator BESRequestHandler::Handler_citer [inherited] |
Definition at line 82 of file BESRequestHandler.h.
typedef map< string, p_request_handler >::iterator BESRequestHandler::Handler_iter [inherited] |
Definition at line 83 of file BESRequestHandler.h.
OPENDAP_CLASSRequestHandler::OPENDAP_CLASSRequestHandler | ( | const string & | name | ) |
Definition at line 14 of file RequestHandler.cc.
References BESRequestHandler::add_handler(), HELP_RESPONSE, OPENDAP_TYPE_build_help(), OPENDAP_TYPE_build_vers(), and VERS_RESPONSE.
OPENDAP_CLASSRequestHandler::~OPENDAP_CLASSRequestHandler | ( | void | ) | [virtual] |
Definition at line 21 of file RequestHandler.cc.
void OPENDAP_CLASSRequestHandler::dump | ( | 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
strm | C++ i/o stream to dump the information to |
Reimplemented from BESRequestHandler.
Definition at line 52 of file RequestHandler.cc.
References BESRequestHandler::dump(), BESIndent::Indent(), BESIndent::LMarg(), and BESIndent::UnIndent().
bool OPENDAP_CLASSRequestHandler::OPENDAP_TYPE_build_vers | ( | BESDataHandlerInterface & | dhi | ) | [static] |
Definition at line 26 of file RequestHandler.cc.
References BESVersionInfo::addHandlerVersion(), BESResponseHandler::get_response_object(), and _BESDataHandlerInterface::response_handler.
Referenced by OPENDAP_CLASSRequestHandler().
bool OPENDAP_CLASSRequestHandler::OPENDAP_TYPE_build_help | ( | BESDataHandlerInterface & | dhi | ) | [static] |
Definition at line 35 of file RequestHandler.cc.
References BESInfo::add_data_from_file(), BESInfo::add_tag(), BESInfo::begin_tag(), BESInfo::end_tag(), BESResponseHandler::get_response_object(), and _BESDataHandlerInterface::response_handler.
Referenced by OPENDAP_CLASSRequestHandler().
virtual const string& BESRequestHandler::get_name | ( | ) | const [inline, virtual, inherited] |
bool BESRequestHandler::add_handler | ( | const string & | handler_name, | |
p_request_handler | handler_method | |||
) | [virtual, inherited] |
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.
handler_name | name of the response object this method can fill in | |
handler_method | a function pointer to the method that can fill in the specified response object |
BESResponseNames
Definition at line 51 of file BESRequestHandler.cc.
References BESRequestHandler::find_handler().
Referenced by BESDapRequestHandler::BESDapRequestHandler(), OPENDAP_CLASSRequestHandler(), TestRequestHandler::test(), and TestRequestHandler::TestRequestHandler().
bool BESRequestHandler::remove_handler | ( | const string & | handler_name | ) | [virtual, inherited] |
remove the specified handler method from this request handler
handler_name | name of the method to be removed, same as the name of the response object |
Definition at line 70 of file BESRequestHandler.cc.
Referenced by TestRequestHandler::test().
p_request_handler BESRequestHandler::find_handler | ( | const string & | handler_name | ) | [virtual, inherited] |
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.
handler_name | name of the method that can fill in the response object type |
BESResponseNames
Definition at line 93 of file BESRequestHandler.cc.
Referenced by BESRequestHandler::add_handler(), BESRequestHandlerList::execute_all(), BESRequestHandlerList::execute_current(), and TestRequestHandler::test().
string BESRequestHandler::get_handler_names | ( | ) | [virtual, inherited] |
return a comma separated list of response object types handled by this request handler
BESResponseNames
Definition at line 112 of file BESRequestHandler.cc.