33 #ifndef A_BESXMLCommand_h 34 #define A_BESXMLCommand_h 1 39 #include <libxml/encoding.h> 42 #include "BESDataHandlerInterface.h" 66 static std::map<std::string, p_xmlcmd_builder> factory;
67 typedef std::map<std::string, p_xmlcmd_builder>::iterator cmd_iter;
125 virtual void dump(ostream &strm)
const;
127 static void add_command(
const std::string &cmd_str, p_xmlcmd_builder cmd);
128 static void del_command(
const std::string &cmd_str);
129 static p_xmlcmd_builder
find_command(
const std::string &cmd_str);
132 #endif // A_BESXMLCommand_h BESXMLCommand(const BESDataHandlerInterface &base_dhi)
Creates a BESXMLCommand document given a base data handler interface object.
virtual void dump(ostream &strm) const
dumps information about this object
virtual void parse_request(xmlNode *node)=0
Parse the XML request document beginning at the given node.
Base object for bes objects.
virtual void set_response()
The request has been parsed, use the command action name to set the response handler.
static p_xmlcmd_builder find_command(const std::string &cmd_str)
Find the BESXMLCommand creation function with the given name.
virtual void prep_request()
Prepare any information needed to execute the request of this command.
static void del_command(const std::string &cmd_str)
Deletes the command called cmd_str from the list of possible commands.
Structure storing information used by the BES to handle the request.
static void add_command(const std::string &cmd_str, p_xmlcmd_builder cmd)
Add a command to the possible commands allowed by this BES.
Base class for the BES's commands.
virtual BESDataHandlerInterface & get_xmlcmd_dhi()
Return the current BESDataHandlerInterface.
virtual bool has_response()=0
Does this command return a response to the client?
std::string d_cmd_log_info
Used only for the log.