/* * Copyright (c) 2017 Tarun Gupta * Licensed under the simplified BSD license. * See Documentation/Licenses/BSD-simplified.txt for more information. */ #include #include #include #include #include namespace Swift { MIXPayloadSerializer::MIXPayloadSerializer() : GenericPayloadSerializer() { } std::string MIXPayloadSerializer::serializePayload(std::shared_ptr payload) const { XMLElement mixElement("mix", "urn:xmpp:mix:0"); if (payload->getNick()) { std::shared_ptr nickElement = std::make_shared("nick"); nickElement->addNode(std::make_shared(*payload->getNick())); mixElement.addNode(nickElement); } if (payload->getJID()) { std::shared_ptr jidElement = std::make_shared("jid"); jidElement->addNode(std::make_shared(*payload->getJID())); mixElement.addNode(jidElement); } if (payload->getSubmissionID()) { std::shared_ptr subIDElement = std::make_shared("submission-id"); subIDElement->addNode(std::make_shared(*payload->getSubmissionID())); mixElement.addNode(subIDElement); } return mixElement.serialize(); } }