/* * Copyright (c) 2014-2016 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ #include #include #include #include #include #include #include using namespace Swift; MAMResultSerializer::MAMResultSerializer(PayloadSerializerCollection* serializers) : serializers_(serializers) { } MAMResultSerializer::~MAMResultSerializer() { } std::string MAMResultSerializer::serializePayload(std::shared_ptr payload) const { if (!payload) { return ""; } XMLElement element("result", "urn:xmpp:mam:0"); element.setAttribute("id", payload->getID()); if (payload->getQueryID()) { element.setAttribute("queryid", *payload->getQueryID()); } element.addNode(std::make_shared(ForwardedSerializer(serializers_).serialize(payload->getPayload()))); return element.serialize(); }