/* * Copyright (c) 2010-2016 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ #pragma once #include #include #include #include #include #include namespace Swift { class SWIFTEN_API StanzaAckSerializer : public GenericElementSerializer { public: StanzaAckSerializer() : GenericElementSerializer() { } virtual SafeByteArray serialize(std::shared_ptr element) const { StanzaAck::ref stanzaAck(std::dynamic_pointer_cast(element)); assert(stanzaAck->isValid()); XMLElement result("a", "urn:xmpp:sm:2"); result.setAttribute("h", std::string(std::to_string(stanzaAck->getHandledStanzasCount()))); return createSafeByteArray(result.serialize()); } }; }