/* * Copyright (c) 2014-2016 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ #include #include #include #include #include #include #include #include #include using namespace Swift; MAMQuerySerializer::MAMQuerySerializer() { } MAMQuerySerializer::~MAMQuerySerializer() { } std::string MAMQuerySerializer::serializePayload(std::shared_ptr payload) const { if (!payload) { return ""; } XMLElement element("query", "urn:xmpp:mam:0"); if (payload->getQueryID()) { element.setAttribute("queryid", *payload->getQueryID()); } if (payload->getNode()) { element.setAttribute("node", *payload->getNode()); } if (payload->getForm()) { element.addNode(std::make_shared(FormSerializer().serialize(payload->getForm()))); } if (payload->getResultSet()) { element.addNode(std::make_shared(ResultSetSerializer().serialize(payload->getResultSet()))); } return element.serialize(); }