/* * Copyright (c) 2010 Remko Tronçon * Licensed under the GNU General Public License v3. * See Documentation/Licenses/GPLv3.txt for more information. */ #pragma once #include #include #include #include #include namespace Swift { class StanzaAckSerializer : public GenericElementSerializer { public: StanzaAckSerializer() : GenericElementSerializer() { } virtual std::string serialize(boost::shared_ptr element) const { StanzaAck::ref stanzaAck(boost::dynamic_pointer_cast(element)); assert(stanzaAck->isValid()); XMLElement result("a", "urn:xmpp:sm:2"); result.setAttribute("h", std::string(boost::lexical_cast(stanzaAck->getHandledStanzasCount()))); return result.serialize(); } }; }