39 map< string, p_xmlcmd_builder> BESXMLCommand::cmd_list ;
63 string err(
"Command " ) ;
64 err +=
_dhi.
action +
" does not have a registered response handler" ;
70 <<
" [" <<
_str_cmd <<
"] received" << endl ;
87 BESXMLCommand::cmd_list[cmd_str] = cmd ;
100 BESXMLCommand::cmd_iter iter = BESXMLCommand::cmd_list.find( cmd_str ) ;
101 if( iter != BESXMLCommand::cmd_list.end() )
103 BESXMLCommand::cmd_list.erase( iter ) ;
115 return BESXMLCommand::cmd_list[cmd_str] ;
128 << (
void *)
this <<
")" << endl ;
BESXMLCommand(const BESDataHandlerInterface &base_dhi)
Creates a BESXMLCommand document given a base data handler interface object.
virtual BESResponseHandler * find_handler(const string &handler)
returns the response handler with the given name from the list
static bool del_command(const string &cmd_str)
Deletes the command called cmd_str from the list of possible commands.
static void add_command(const string &cmd_str, p_xmlcmd_builder cmd)
Add a command to the possible commands allowed by this BES.
BESDataHandlerInterface _dhi
BESXMLCommand *(* p_xmlcmd_builder)(const BESDataHandlerInterface &dhi)
error thrown if there is a user syntax error in the request or any other user error ...
void make_copy(const BESDataHandlerInterface ©_from)
deprecated
virtual void set_response()
The request has been parsed, use the command action name to set the response handler.
BESResponseHandler * response_handler
static ostream & LMarg(ostream &strm)
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.
string action
the response object requested, e.g.
virtual void dump(ostream &strm) const
dumps information about this object
static BESResponseHandlerList * TheList()
static p_xmlcmd_builder find_command(const string &cmd_str)
Find the BESXMLCommand creation function with the given name.