/* * Copyright (c) 2011 Jan Kaluza * Licensed under the Simplified BSD license. * See Documentation/Licenses/BSD-simplified.txt for more information. */ #include #include #include #include #include #include "Swiften/SwiftenCompat.h" namespace Swift { GatewayPayloadSerializer::GatewayPayloadSerializer() : GenericPayloadSerializer() { } std::string GatewayPayloadSerializer::serializePayload(SWIFTEN_SHRPTR_NAMESPACE::shared_ptr payload) const { XMLElement query("query", "jabber:iq:gateway"); if (payload->getJID().isValid()) { SWIFTEN_SHRPTR_NAMESPACE::shared_ptr jid(new XMLElement("jid", "", payload->getJID().toBare().toString())); query.addNode(jid); } if (!payload->getDesc().empty()) { SWIFTEN_SHRPTR_NAMESPACE::shared_ptr desc(new XMLElement("desc", "", payload->getDesc())); query.addNode(desc); } if (!payload->getPrompt().empty()) { SWIFTEN_SHRPTR_NAMESPACE::shared_ptr prompt(new XMLElement("prompt", "", payload->getPrompt())); query.addNode(prompt); } return query.serialize(); } }