/* * Copyright (c) 2010-2016 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ #pragma once #include #include #include #include #include namespace Swift { class SWIFTEN_API IQSerializer : public GenericStanzaSerializer { public: IQSerializer(PayloadSerializerCollection* payloadSerializers, const boost::optional& explicitNS = boost::optional()) : GenericStanzaSerializer("iq", payloadSerializers, explicitNS) { } private: virtual void setStanzaSpecificAttributesGeneric( std::shared_ptr iq, XMLElement& element) const { switch (iq->getType()) { case IQ::Get: element.setAttribute("type","get"); break; case IQ::Set: element.setAttribute("type","set"); break; case IQ::Result: element.setAttribute("type","result"); break; case IQ::Error: element.setAttribute("type","error"); break; } } }; }