/* * 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 "Swiften/Elements/StanzaAck.h" #include "Swiften/Serializer/GenericElementSerializer.h" #include "Swiften/Serializer/XML/XMLElement.h" namespace Swift { class StanzaAckSerializer : public GenericElementSerializer { public: StanzaAckSerializer() : GenericElementSerializer() { } virtual 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", String(boost::lexical_cast(stanzaAck->getHandledStanzasCount()))); return result.serialize(); } }; }