diff options
| author | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-08-09 15:35:36 +0000 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-08-09 15:35:36 +0000 |
| commit | ef0111fbe76e1556028c302c1fd4c804cccf5b76 (patch) | |
| tree | c7babb82eb0af4fdc56446b25f4c7d74a0e76749 | |
| parent | 889f415805e84e3d136f8bc009a81a07d157fed8 (diff) | |
| download | qxmpp-ef0111fbe76e1556028c302c1fd4c804cccf5b76.tar.gz | |
allow XML-RPC to be tested
| -rw-r--r-- | source/xmlrpc.cpp | 10 | ||||
| -rw-r--r-- | source/xmlrpc.h | 4 |
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. |
