diff options
| author | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-10-11 11:50:16 +0000 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-10-11 11:50:16 +0000 |
| commit | 7e66378dc28da241e633ffb4ee4ece7afe1ee1ce (patch) | |
| tree | 12cf9d0477e46f60964a367109c30bc5f09ba089 | |
| parent | d0738485bbcb2de6fd0e78f90437ac6aa27113e7 (diff) | |
| download | qxmpp-7e66378dc28da241e633ffb4ee4ece7afe1ee1ce.tar.gz | |
encode / decode presence photo hash to / from base64
| -rw-r--r-- | src/QXmppPresence.cpp | 6 | ||||
| -rw-r--r-- | tests/tests.cpp | 8 |
2 files changed, 7 insertions, 7 deletions
diff --git a/src/QXmppPresence.cpp b/src/QXmppPresence.cpp index f6e58b6f..00746fdd 100644 --- a/src/QXmppPresence.cpp +++ b/src/QXmppPresence.cpp @@ -84,7 +84,7 @@ void QXmppPresence::parse(const QDomElement &element) QDomElement photoElement = xElement.firstChildElement("photo"); if(!photoElement.isNull()) { - m_photoHash = photoElement.text().toUtf8(); + m_photoHash = QByteArray::fromBase64(photoElement.text().toAscii()); if(m_photoHash.isEmpty()) m_vCardUpdateType = PhotoNotAdvertized; else @@ -92,7 +92,7 @@ void QXmppPresence::parse(const QDomElement &element) } else { - m_photoHash = ""; + m_photoHash = QByteArray(); m_vCardUpdateType = PhotoNotReady; } } @@ -149,7 +149,7 @@ void QXmppPresence::toXml(QXmlStreamWriter *xmlWriter) const helperToXmlAddTextElement(xmlWriter, "photo", ""); break; case PhotoAdvertised: - helperToXmlAddTextElement(xmlWriter, "photo", m_photoHash); + helperToXmlAddTextElement(xmlWriter, "photo", m_photoHash.toBase64()); break; case PhotoNotReady: break; diff --git a/tests/tests.cpp b/tests/tests.cpp index 67217a81..3270a81f 100644 --- a/tests/tests.cpp +++ b/tests/tests.cpp @@ -437,7 +437,7 @@ void TestPackets::testPresenceWithVCardUpdate() "<status>In a meeting</status>" "<priority>5</priority>" "<x xmlns=\"vcard-temp:x:update\">" - "<photo>sha1-hash-of-image</photo>" + "<photo>Ve0tKBkyTOPyZrekN6VJl6ZZZfQ=</photo>" "</x>" "</presence>"); @@ -448,7 +448,7 @@ void TestPackets::testPresenceWithVCardUpdate() QCOMPARE(presence.status().type(), QXmppPresence::Status::Away); QCOMPARE(presence.status().statusText(), QString("In a meeting")); QCOMPARE(presence.status().priority(), 5); - QCOMPARE(presence.photoHash(), QByteArray("sha1-hash-of-image")); + QCOMPARE(presence.photoHash(), QByteArray::fromBase64("Ve0tKBkyTOPyZrekN6VJl6ZZZfQ=")); QCOMPARE(presence.vCardUpdateType(), QXmppPresence::PhotoAdvertised); serializePacket(presence, xml); } @@ -461,7 +461,7 @@ void TestPackets::testPresenceWithCapability() "<status>In a meeting</status>" "<priority>5</priority>" "<x xmlns=\"vcard-temp:x:update\">" - "<photo>sha1-hash-of-image</photo>" + "<photo>Ve0tKBkyTOPyZrekN6VJl6ZZZfQ=</photo>" "</x>" "<c xmlns=\"http://jabber.org/protocol/caps\" hash=\"sha-1\" node=\"http://code.google.com/p/qxmpp\" ver=\"QgayPKawpkPSDYmwT/WM94uAlu0=\"/>" "</presence>"); @@ -473,7 +473,7 @@ void TestPackets::testPresenceWithCapability() QCOMPARE(presence.status().type(), QXmppPresence::Status::Away); QCOMPARE(presence.status().statusText(), QString("In a meeting")); QCOMPARE(presence.status().priority(), 5); - QCOMPARE(presence.photoHash(), QByteArray("sha1-hash-of-image")); + QCOMPARE(presence.photoHash(), QByteArray::fromBase64("Ve0tKBkyTOPyZrekN6VJl6ZZZfQ=")); QCOMPARE(presence.vCardUpdateType(), QXmppPresence::PhotoAdvertised); QCOMPARE(presence.capabilityHash(), QString("sha-1")); QCOMPARE(presence.capabilityNode(), QString("http://code.google.com/p/qxmpp")); |
