#include <BESRequestHandlerList.h>
Inheritance diagram for BESRequestHandlerList:
Public Types | |
typedef map< string, BESRequestHandler * >::const_iterator | Handler_citer |
typedef map< string, BESRequestHandler * >::iterator | Handler_iter |
Public Member Functions | |
virtual | ~BESRequestHandlerList (void) |
virtual bool | add_handler (string handler_name, BESRequestHandler *handler) |
add a request handler to the list of registered handlers for this server | |
virtual BESRequestHandler * | remove_handler (string handler_name) |
remove and return the specified request handler | |
virtual BESRequestHandler * | find_handler (string handler_name) |
find and return the specified request handler | |
virtual Handler_citer | get_first_handler () |
return an iterator pointing to the first request handler in the list | |
virtual Handler_citer | get_last_handler () |
return a constant iterator pointing to the end of the list | |
virtual string | get_handler_names () |
Returns a comma separated string of request handlers registered with the server. | |
virtual void | execute_each (BESDataHandlerInterface &dhi) |
for each container in the given data handler interface, execute the given request | |
virtual void | execute_all (BESDataHandlerInterface &dhi) |
for all of the registered request handlers, execute the given request | |
virtual void | execute_once (BESDataHandlerInterface &dhi) |
Execute a single method that will fill in the response object rather than iterating over the list of containers or request handlers. | |
virtual void | execute_current (BESDataHandlerInterface &dhi) |
Execute a single method for the current container that will fill in the response object rather than iterating over the list of containers or request handlers. | |
virtual void | dump (ostream &strm) const |
dumps information about this object | |
Static Public Member Functions | |
static BESRequestHandlerList * | TheList () |
Protected Member Functions | |
BESRequestHandlerList (void) |
For a type of data to be handled by the BES the data type must registered a request handler with the server. This request handler knows how to fill in specific response objects, such as DAS, DDS, help, version, etc... The request handlers are registered with this request handler list.
|
|
|
|
|
|
|
|
|
add a request handler to the list of registered handlers for this server
|
|
dumps information about this object Displays the pointer value of this instance along with information about each of the registered request handlers.
Implements BESObj. |
|
for all of the registered request handlers, execute the given request In some cases, such as a version or help request, it is necessary to iterate over all of the registered request handlers to fill in the response object. If a request handler does not know how to fill in the response object, i.e. doesn't handle the response type, then simply move on to the next. No exception is thrown in this case.
|
|
Execute a single method for the current container that will fill in the response object rather than iterating over the list of containers or request handlers. The request is passed * off to the request handler for the current container in the data handler interface.
|
|
for each container in the given data handler interface, execute the given request For some response objects it is necessary to iterate over all of the containers listed in the specified data handler interface. For each container, get the type of data represented by that container, find the request handler for that data type, find the method within that request handler that knows how to handle the response object to be filled in, and execute that method.
|
|
Execute a single method that will fill in the response object rather than iterating over the list of containers or request handlers. This method is for requests of a single type of data. The request is passed off to the request handler for the first container in the data handler interface. It is up to this request handlers method for the specified response object type to fill in the response object. It can iterate over the containers in the data handler interface, for example.
|
|
find and return the specified request handler
|
|
return an iterator pointing to the first request handler in the list
|
|
Returns a comma separated string of request handlers registered with the server.
|
|
return a constant iterator pointing to the end of the list
|
|
remove and return the specified request handler Finds, removes and returns the specified request handler. if the handler exists then it is removed from the list, but not deleted. Deleting the request handler is the responsability of the caller. The request handler is then returned to the caller. If not found, NULL is returned
|
|
|