aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2010-08-09 15:35:36 +0000
committerJeremy Lainé <jeremy.laine@m4x.org>2010-08-09 15:35:36 +0000
commitef0111fbe76e1556028c302c1fd4c804cccf5b76 (patch)
treec7babb82eb0af4fdc56446b25f4c7d74a0e76749
parent889f415805e84e3d136f8bc009a81a07d157fed8 (diff)
downloadqxmpp-ef0111fbe76e1556028c302c1fd4c804cccf5b76.tar.gz
allow XML-RPC to be tested
-rw-r--r--source/xmlrpc.cpp10
-rw-r--r--source/xmlrpc.h4
2 files changed, 9 insertions, 5 deletions
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 <QStringList>
#include <QTextStream>
-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.