bes  Updated for version 3.20.6
BESXMLGetCommand Class Reference
Collaboration diagram for BESXMLGetCommand:
Collaboration graph

Public Member Functions

 BESXMLGetCommand (const BESDataHandlerInterface &base_dhi)
 
virtual void dump (std::ostream &strm) const
 dumps information about this object More...
 
virtual BESDataHandlerInterfaceget_xmlcmd_dhi ()
 returns the BESDataHandlerInterface of either a sub command, if one exists, or this command's More...
 
virtual bool has_response ()
 Does this command return a response to the client? More...
 
virtual void parse_request (xmlNode *node)
 parse a get command. More...
 
virtual void prep_request ()
 Prepare any information needed to execute the request of this get command. More...
 

Static Public Member Functions

static void add_command (const std::string &cmd_str, p_xmlcmd_builder cmd)
 Add a command to the possible commands allowed by this BES. More...
 
static BESXMLCommandCommandBuilder (const BESDataHandlerInterface &base_dhi)
 
static void del_command (const std::string &cmd_str)
 Deletes the command called cmd_str from the list of possible commands. More...
 
static p_xmlcmd_builder find_command (const std::string &cmd_str)
 Find the BESXMLCommand creation function with the given name. More...
 

Protected Member Functions

virtual void parse_basic_get (const std::string &type, std::map< std::string, std::string > &props)
 Extract information from the 'props' map. More...
 
virtual void set_response ()
 The request has been parsed, use the command action name to set the response handler. More...
 

Protected Attributes

std::string d_cmd_log_info
 Used only for the log. More...
 
BESDataHandlerInterface d_xmlcmd_dhi
 

Detailed Description

Definition at line 41 of file BESXMLGetCommand.h.

Member Function Documentation

◆ add_command()

void BESXMLCommand::add_command ( const std::string &  cmd_str,
p_xmlcmd_builder  cmd 
)
staticinherited

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.

Parameters
cmd_strThe name of the command
cmdThe function to call to create the BESXMLCommand object

Definition at line 86 of file BESXMLCommand.cc.

◆ del_command()

void BESXMLCommand::del_command ( const std::string &  cmd_str)
staticinherited

Deletes the command called cmd_str from the list of possible commands.

Parameters
cmd_strThe name of the command to remove from the list

Definition at line 96 of file BESXMLCommand.cc.

◆ dump()

void BESXMLGetCommand::dump ( std::ostream &  strm) const
virtual

dumps information about this object

Displays the pointer value of this instance

Parameters
strmC++ i/o stream to dump the information to

Reimplemented from BESXMLCommand.

Reimplemented in BESXMLWWWGetCommand.

Definition at line 227 of file BESXMLGetCommand.cc.

◆ find_command()

p_xmlcmd_builder BESXMLCommand::find_command ( const std::string &  cmd_str)
staticinherited

Find the BESXMLCommand creation function with the given name.

Parameters
cmd_strThe name of the command creation function to find

Definition at line 108 of file BESXMLCommand.cc.

◆ get_xmlcmd_dhi()

BESDataHandlerInterface & BESXMLGetCommand::get_xmlcmd_dhi ( )
virtual

returns the BESDataHandlerInterface of either a sub command, if one exists, or this command's

Returns
BESDataHandlerInterface of sub command if it exists or this instances

Reimplemented from BESXMLCommand.

Definition at line 169 of file BESXMLGetCommand.cc.

◆ has_response()

virtual bool BESXMLGetCommand::has_response ( )
inlinevirtual

Does this command return a response to the client?

Every command has an associated ResponseHandler, but not all ResponseHandlers return information to the BES's client. In fact, for any group of commands sent to the BES, only one can return information (except for errors, which stop command processing). If this command does not normally return a response (text or binary data), the value of this method should be false.

Returns
true if it returns a response, false otherwise

Implements BESXMLCommand.

Definition at line 59 of file BESXMLGetCommand.h.

◆ parse_basic_get()

void BESXMLGetCommand::parse_basic_get ( const std::string &  type,
std::map< std::string, std::string > &  props 
)
protectedvirtual

Extract information from the 'props' map.

Extract the values for various properties from the whole command file and load them into this command's DHI 'data' map or the specific 'definition' or 'space' values. As a side effect, build the cmd_log_info string (used to record information about this command in the BES log.

Parameters
typeThe thing to get (e.g., dds)
propsHolds the definition, space, returnAs, etc., values to be used with when running the command.

Definition at line 127 of file BESXMLGetCommand.cc.

◆ parse_request()

void BESXMLGetCommand::parse_request ( xmlNode *  node)
virtual

parse a get command.

The get commands have the form:

get type="dds" definition="d" returnAs="name"

and return the returnAs item derived from the type object for the data referenced by the definition.

Parameters
nodexml2 element node pointer

Implements BESXMLCommand.

Reimplemented in BESXMLWWWGetCommand.

Definition at line 70 of file BESXMLGetCommand.cc.

◆ prep_request()

void BESXMLGetCommand::prep_request ( )
virtual

Prepare any information needed to execute the request of this get command.

This function is used to prepare the information needed to execute the get request. It finds the definition specified in the element and prepares all of the containers within that definition.

Reimplemented from BESXMLCommand.

Definition at line 183 of file BESXMLGetCommand.cc.

◆ set_response()

void BESXMLCommand::set_response ( )
protectedvirtualinherited

The request has been parsed, use the command action name to set the response handler.

Definition at line 63 of file BESXMLCommand.cc.

Member Data Documentation

◆ d_cmd_log_info

std::string BESXMLCommand::d_cmd_log_info
protectedinherited

Used only for the log.

Definition at line 74 of file BESXMLCommand.h.


The documentation for this class was generated from the following files: