1 #include "otsdaq/SOAPUtilities/SOAPCommand.h"
2 #include "otsdaq/Macros/CoutMacros.h"
3 #include "otsdaq/MessageFacility/MessageFacility.h"
5 #include <xoap/SOAPElement.h>
6 #include <xoap/SOAPEnvelope.h>
7 #include <xoap/domutils.h>
14 SOAPCommand::SOAPCommand(
void) {}
17 SOAPCommand::SOAPCommand(
const xoap::MessageReference& message) {
translate(message); }
20 SOAPCommand::SOAPCommand(std::string command) : command_(command) {}
22 SOAPCommand::SOAPCommand(std::string command,
SOAPParameters parameters)
23 : command_(command), parameters_(parameters)
28 SOAPCommand::SOAPCommand(std::string command,
SOAPParameter parameter)
29 : command_(command), parameters_(parameter)
34 SOAPCommand::~SOAPCommand(
void) {}
47 const SOAPParameters& SOAPCommand::getParameters(
void)
const {
return parameters_; }
49 SOAPParameters& SOAPCommand::getParametersRef() {
return parameters_; }
52 std::string SOAPCommand::getParameterValue(std::string parameterName)
const
54 SOAPParameters::const_iterator it;
55 if((it = parameters_.find(parameterName)) != parameters_.end())
61 unsigned int SOAPCommand::getParametersSize(
void)
const {
return parameters_.
size(); }
68 xoap::SOAPElement messageCommand =
69 *(message->getSOAPPart().getEnvelope().getBody().getChildElements().begin());
70 command_ = messageCommand.getElementName().getLocalName();
71 DOMNamedNodeMap* parameters = messageCommand.getDOM()->getAttributes();
72 for(
unsigned int i = 0; i < parameters->getLength(); i++)
74 parameters_.addParameter(xoap::XMLCh2String(parameters->item(i)->getNodeName()),
75 xoap::XMLCh2String(parameters->item(i)->getNodeValue()));
80 void SOAPCommand::setCommand(std::string command) { command_ = command; }
85 parameters_ = parameters;
89 void SOAPCommand::setParameter(std::string parameterName, std::string parameterValue)
91 parameters_.addParameter(parameterName, parameterValue);
97 parameters_.addParameter(parameter.
getName(), parameter.getValue());
101 bool SOAPCommand::hasParameters(
void)
const {
return (parameters_.
size() != 0); }
104 bool SOAPCommand::findParameter(std::string parameterName)
const
106 return (parameters_.find(parameterName) != parameters_.end());
116 for(SOAPParameters::const_iterator it = (c.getParameters()).begin();
117 it != (c.getParameters()).end();
119 os <<
" Par " << p <<
" Name: " << it->first <<
" Value: " << it->second <<
",";
const N & getName(void) const
Getters.
unsigned int size(void) const
Methods.
const std::string & getCommand(void) const
Getters.
void translate(const xoap::MessageReference &message)
Setters.
std::ostream & operator<<(std::ostream &, UDPFragment const &)
Let the "<<" operator dump the UDPFragment's data to stdout.