55 _handler_list[handler_name] = handler_object ;
78 i = _handler_list.find( handler_name ) ;
79 if( i != _handler_list.end() )
82 _handler_list.erase( i ) ;
97 i = _handler_list.find( handler_name ) ;
98 if( i != _handler_list.end() )
115 return _handler_list.begin() ;
126 return _handler_list.end() ;
140 bool first_name = true ;
142 for( ; i != _handler_list.end(); i++ )
203 for( ; i != ie; i++ )
283 if( !c_list.empty() )
289 string se =
"Request handler \""
291 +
"\" does not handle the response type \""
296 string se =
"The data handler \""
298 +
"\" does not exist" ;
315 << (
void *)
this <<
")" << endl ;
317 if( _handler_list.size() )
323 for( ; i != ie; i++ )
virtual Handler_citer get_first_handler()
return an iterator pointing to the first request handler in the list
exception thrown if inernal error encountered
virtual bool add_handler(const string &handler_name, BESRequestHandler *handler)
add a request handler to the list of registered handlers for this server
void next_container()
set the container pointer to the next * container in the list, null if at the end or no containers in...
maintains the list of registered request handlers for this server
string get_container_type() const
retrieve the type of data this container holds, such as cedar or netcdf.
virtual void dump(ostream &strm) const
dumps information about this object
bool(* p_request_handler)(BESDataHandlerInterface &)
BESRequestHandlerList(void)
virtual string access()=0
returns the true name of this container
virtual BESRequestHandler * find_handler(const string &handler_name)
find and return the specified request handler
map< string, BESRequestHandler * >::const_iterator Handler_citer
static ostream & LMarg(ostream &strm)
virtual void execute_each(BESDataHandlerInterface &dhi)
for each container in the given data handler interface, execute the given request ...
map< string, BESRequestHandler * >::iterator Handler_iter
virtual void execute_all(BESDataHandlerInterface &dhi)
for all of the registered request handlers, execute the given request
string get_real_name() const
retrieve the real name for this container, such as a file name.
virtual void execute_once(BESDataHandlerInterface &dhi)
Execute a single method that will fill in the response object rather than iterating over the list of ...
virtual string get_handler_names()
Returns a comma separated string of request handlers registered with the server.
Represents a specific data type request handler.
static BESRequestHandlerList * TheList()
Structure storing information used by the BES to handle the request.
map< string, string > data
the map of string data that will be required for the current request.
virtual Handler_citer get_last_handler()
return a constant iterator pointing to the end of the list
virtual void execute_current(BESDataHandlerInterface &dhi)
Execute a single method for the current container that will fill in the response object rather than i...
void first_container()
set the container pointer to the first container in the containers list
#define BES_REQUEST_HANDLER_CATCH_ALL
virtual void dump(ostream &strm) const
dumps information about this object
virtual p_request_handler find_handler(const string &handler_name)
find the method that can handle the specified response object type
string action
the response object requested, e.g.
BESContainer * container
pointer to current container in this interface
virtual BESRequestHandler * remove_handler(const string &handler_name)
remove and return the specified request handler