diff options
author | dknn <yoann.blein@free.fr> | 2012-06-02 18:31:08 (GMT) |
---|---|---|
committer | dknn <yoann.blein@free.fr> | 2012-09-22 08:39:46 (GMT) |
commit | ed95bc3cb17285a16a201f8ffe26ac38a4403f47 (patch) | |
tree | 86694b0145cbc956afb97d879331e9e2f2a41556 /Swiften/Serializer/PayloadSerializers/JinglePayloadSerializer.cpp | |
parent | 8e2195fce7f7905ae63525239428a3634d3c4de1 (diff) | |
download | swift-contrib-ed95bc3cb17285a16a201f8ffe26ac38a4403f47.zip swift-contrib-ed95bc3cb17285a16a201f8ffe26ac38a4403f47.tar.bz2 |
Fixed 2 bugs in JinglePayloadSerializer:
- Change 'desc' node to 'text' node and add a test case for it
- Do not set the attribute 'initiator' if empty
Diffstat (limited to 'Swiften/Serializer/PayloadSerializers/JinglePayloadSerializer.cpp')
-rw-r--r-- | Swiften/Serializer/PayloadSerializers/JinglePayloadSerializer.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/Swiften/Serializer/PayloadSerializers/JinglePayloadSerializer.cpp b/Swiften/Serializer/PayloadSerializers/JinglePayloadSerializer.cpp index a04687b..3f134c5 100644 --- a/Swiften/Serializer/PayloadSerializers/JinglePayloadSerializer.cpp +++ b/Swiften/Serializer/PayloadSerializers/JinglePayloadSerializer.cpp @@ -35,7 +35,9 @@ JinglePayloadSerializer::JinglePayloadSerializer(PayloadSerializerCollection* se std::string JinglePayloadSerializer::serializePayload(boost::shared_ptr<JinglePayload> payload) const { XMLElement jinglePayload("jingle", "urn:xmpp:jingle:1"); jinglePayload.setAttribute("action", actionToString(payload->getAction())); - jinglePayload.setAttribute("initiator", payload->getInitiator()); + if (payload->getInitiator().isValid()) { + jinglePayload.setAttribute("initiator", payload->getInitiator()); + } jinglePayload.setAttribute("sid", payload->getSessionID()); std::vector<boost::shared_ptr<Payload> > payloads = payload->getPayloads(); @@ -47,16 +49,16 @@ std::string JinglePayloadSerializer::serializePayload(boost::shared_ptr<JinglePa } } } - + if (payload->getReason().is_initialized()) { boost::shared_ptr<XMLElement> reason = boost::make_shared<XMLElement>("reason"); reason->addNode(boost::make_shared<XMLElement>(reasonTypeToString(payload->getReason()->type))); if (!payload->getReason()->text.empty()) { - reason->addNode(boost::make_shared<XMLElement>("desc", "", payload->getReason()->text)); + reason->addNode(boost::make_shared<XMLElement>("text", "", payload->getReason()->text)); } jinglePayload.addNode(reason); } - + return jinglePayload.serialize(); } |