From ef0111fbe76e1556028c302c1fd4c804cccf5b76 Mon Sep 17 00:00:00 2001 From: Jeremy Lainé Date: Mon, 9 Aug 2010 15:35:36 +0000 Subject: allow XML-RPC to be tested --- source/xmlrpc.cpp | 10 +++++----- source/xmlrpc.h | 4 ++++ 2 files changed, 9 insertions(+), 5 deletions(-) (limited to 'source') diff --git a/source/xmlrpc.cpp b/source/xmlrpc.cpp index 55008731..abf3dcc9 100644 --- a/source/xmlrpc.cpp +++ b/source/xmlrpc.cpp @@ -6,7 +6,7 @@ #include #include -static void marshall( QXmlStreamWriter *writer, const QVariant &value) +void XMLRPC::marshall( QXmlStreamWriter *writer, const QVariant &value) { writer->writeStartElement("value"); switch( value.type() ) @@ -76,7 +76,7 @@ static void marshall( QXmlStreamWriter *writer, const QVariant &value) writer->writeEndElement(); } -static QVariant demarshall(const QDomElement &elem, QStringList &errors) +QVariant XMLRPC::demarshall(const QDomElement &elem, QStringList &errors) { if ( elem.tagName().toLower() != "value" ) { @@ -120,11 +120,11 @@ static QVariant demarshall(const QDomElement &elem, QStringList &errors) else if( typeName == "array" ) { QVariantList arr; - QDomNode valueNode = typeData.firstChild().firstChild(); + QDomElement valueNode = typeData.firstChildElement("data").firstChildElement(); while (!valueNode.isNull() && errors.isEmpty()) { - arr.append(demarshall(valueNode.toElement(), errors)); - valueNode = valueNode.nextSibling(); + arr.append(demarshall(valueNode, errors)); + valueNode = valueNode.nextSiblingElement(); } return QVariant( arr ); } diff --git a/source/xmlrpc.h b/source/xmlrpc.h index f9b179df..e96a2ae3 100644 --- a/source/xmlrpc.h +++ b/source/xmlrpc.h @@ -45,6 +45,10 @@ namespace XMLRPC { + +void marshall( QXmlStreamWriter *writer, const QVariant &value); +QVariant demarshall(const QDomElement &elem, QStringList &errors); + /** * Creates an XMLRPC message that will call a method with a series of * QVariants that will be converted to XMLRPC types. -- cgit v1.2.3