#include <BESXMLDefineCommand.h>
Inheritance diagram for BESXMLDefineCommand:
Public Member Functions | |
BESXMLDefineCommand (const BESDataHandlerInterface &base_dhi) | |
virtual void | dump (ostream &strm) const |
dumps information about this object | |
virtual BESDataHandlerInterface & | get_dhi () |
Return the current BESDataHandlerInterface. | |
virtual bool | has_response () |
Has a response handler been created given the request document? | |
virtual void | parse_request (xmlNode *node) |
parse a show command. | |
virtual void | prep_request () |
prepare the define command by making sure the containers exist | |
virtual | ~BESXMLDefineCommand () |
Static Public Member Functions | |
static void | add_command (const string &cmd_str, p_xmlcmd_builder cmd) |
Add a command to the possible commands allowed by this BES. | |
static BESXMLCommand * | CommandBuilder (const BESDataHandlerInterface &base_dhi) |
static bool | del_command (const string &cmd_str) |
Deletes the command called cmd_str from the list of possible commands. | |
static p_xmlcmd_builder | find_command (const string &cmd_str) |
Find the BESXMLCommand creation function with the given name. | |
Protected Member Functions | |
virtual void | set_response () |
The request has been parsed, use the command action name to set the response handler. | |
Protected Attributes | |
BESDataHandlerInterface | _dhi |
string | _str_cmd |
Definition at line 43 of file BESXMLDefineCommand.h.
BESXMLDefineCommand::BESXMLDefineCommand | ( | const BESDataHandlerInterface & | base_dhi | ) |
virtual BESXMLDefineCommand::~BESXMLDefineCommand | ( | ) | [inline, virtual] |
Definition at line 59 of file BESXMLDefineCommand.h.
void BESXMLCommand::add_command | ( | const string & | cmd_str, | |
p_xmlcmd_builder | cmd | |||
) | [static, inherited] |
Add a command to the possible commands allowed by this BES.
This adds a function to parse a specific BES command within the BES request document using the given name. If a command element is found with the name cmd_str, then the XMLCommand object is created using the passed cmd object.
cmd_str | The name of the command | |
cmd | The function to call to create the BESXMLCommand object |
Definition at line 80 of file BESXMLCommand.cc.
Referenced by BESXMLDefaultCommands::initialize(), and BESXMLDapCommandModule::initialize().
BESXMLCommand * BESXMLDefineCommand::CommandBuilder | ( | const BESDataHandlerInterface & | base_dhi | ) | [static] |
Definition at line 326 of file BESXMLDefineCommand.cc.
References BESXMLDefineCommand().
Referenced by BESXMLDefaultCommands::initialize().
Here is the call graph for this function:
bool BESXMLCommand::del_command | ( | const string & | cmd_str | ) | [static, inherited] |
Deletes the command called cmd_str from the list of possible commands.
cmd_str | The name of the command to remove from the list |
Definition at line 91 of file BESXMLCommand.cc.
Referenced by BESXMLDefaultCommands::terminate(), and BESXMLDapCommandModule::terminate().
void BESXMLDefineCommand::dump | ( | ostream & | strm | ) | const [virtual] |
dumps information about this object
Displays the pointer value of this instance
strm | C++ i/o stream to dump the information to |
Reimplemented from BESXMLCommand.
Definition at line 316 of file BESXMLDefineCommand.cc.
References BESXMLCommand::dump(), BESIndent::Indent(), BESIndent::LMarg(), and BESIndent::UnIndent().
Here is the call graph for this function:
p_xmlcmd_builder BESXMLCommand::find_command | ( | const string & | cmd_str | ) | [static, inherited] |
Find the BESXMLCommand creation function with the given name.
cmd_str | The name of the command creation function to find |
Definition at line 108 of file BESXMLCommand.cc.
Referenced by BESXMLInterface::build_data_request_plan(), and BESXMLGetCommand::parse_request().
virtual BESDataHandlerInterface& BESXMLCommand::get_dhi | ( | ) | [inline, virtual, inherited] |
Return the current BESDataHandlerInterface.
Since there can be multiple commands within a single request document, different interface objects can be created. This returns the current interface object
Reimplemented in BESXMLGetCommand.
Definition at line 87 of file BESXMLCommand.h.
References BESXMLCommand::_dhi.
Referenced by BESXMLInterface::build_data_request_plan(), and BESXMLGetCommand::get_dhi().
virtual bool BESXMLDefineCommand::has_response | ( | ) | [inline, virtual] |
Has a response handler been created given the request document?
Implements BESXMLCommand.
Definition at line 63 of file BESXMLDefineCommand.h.
void BESXMLDefineCommand::parse_request | ( | xmlNode * | node | ) | [virtual] |
parse a show command.
No properties or children elements
<define name="d" space="default"> <container name="c"> <constraint>a valid ce</constraint> <attributes>list of attributes</attributes> </container> <aggregate handler="someHandler" cmd="someCommand" /> </define>
Requires the name property. The space property is optional. Requires at least one container element. The container element requires the name property. The constraint and attribute elements of container are optional. The aggregate element is optional.
node | xml2 element node pointer |
Implements BESXMLCommand.
Definition at line 65 of file BESXMLDefineCommand.cc.
References BESXMLCommand::_dhi, BESXMLCommand::_str_cmd, BESDataHandlerInterface::action, BESDataHandlerInterface::data, DEF_NAME, DEFINE_RESPONSE, DEFINE_RESPONSE_STR, BESXMLUtils::GetFirstChild(), BESXMLUtils::GetNextChild(), BESXMLUtils::GetNodeInfo(), and BESXMLCommand::set_response().
Here is the call graph for this function:
void BESXMLDefineCommand::prep_request | ( | ) | [virtual] |
prepare the define command by making sure the containers exist
Reimplemented from BESXMLCommand.
Definition at line 294 of file BESXMLDefineCommand.cc.
References BESXMLCommand::_dhi, BESDataHandlerInterface::containers, and BESContainerStorageList::TheList().
Here is the call graph for this function:
void BESXMLCommand::set_response | ( | ) | [protected, virtual, inherited] |
The request has been parsed, use the command action name to set the response handler.
Definition at line 56 of file BESXMLCommand.cc.
References BESXMLCommand::_dhi, BESXMLCommand::_str_cmd, BESDataHandlerInterface::action, BESDataHandlerInterface::data, DATA_REQUEST, BESResponseHandlerList::find_handler(), BESDataHandlerInterface::response_handler, and BESResponseHandlerList::TheList().
Referenced by BESXMLShowErrorCommand::parse_request(), BESXMLShowCommand::parse_request(), BESXMLSetContextCommand::parse_request(), BESXMLSetContainerCommand::parse_request(), BESXMLGetDataDDXCommand::parse_request(), BESXMLGetCommand::parse_request(), BESXMLDeleteDefinitionsCommand::parse_request(), BESXMLDeleteDefinitionCommand::parse_request(), BESXMLDeleteContainersCommand::parse_request(), BESXMLDeleteContainerCommand::parse_request(), parse_request(), and BESXMLCatalogCommand::parse_request().
Here is the call graph for this function:
BESDataHandlerInterface BESXMLCommand::_dhi [protected, inherited] |
Definition at line 57 of file BESXMLCommand.h.
Referenced by BESXMLCommand::BESXMLCommand(), BESXMLGetCommand::get_dhi(), BESXMLCommand::get_dhi(), BESXMLGetCommand::parse_basic_get(), BESXMLShowErrorCommand::parse_request(), BESXMLShowCommand::parse_request(), BESXMLSetContextCommand::parse_request(), BESXMLSetContainerCommand::parse_request(), BESXMLGetCommand::parse_request(), BESXMLDeleteDefinitionsCommand::parse_request(), BESXMLDeleteDefinitionCommand::parse_request(), BESXMLDeleteContainersCommand::parse_request(), BESXMLDeleteContainerCommand::parse_request(), parse_request(), BESXMLCatalogCommand::parse_request(), BESXMLGetDataDDXCommand::prep_request(), BESXMLGetCommand::prep_request(), prep_request(), and BESXMLCommand::set_response().
string BESXMLCommand::_str_cmd [protected, inherited] |
Definition at line 59 of file BESXMLCommand.h.
Referenced by BESXMLGetCommand::parse_basic_get(), BESXMLShowErrorCommand::parse_request(), BESXMLShowCommand::parse_request(), BESXMLSetContextCommand::parse_request(), BESXMLSetContainerCommand::parse_request(), BESXMLGetDataDDXCommand::parse_request(), BESXMLDeleteDefinitionsCommand::parse_request(), BESXMLDeleteDefinitionCommand::parse_request(), BESXMLDeleteContainersCommand::parse_request(), BESXMLDeleteContainerCommand::parse_request(), parse_request(), and BESXMLCommand::set_response().