/* * Copyright (c) 2010 Remko Tronçon * Licensed under the GNU General Public License v3. * See Documentation/Licenses/GPLv3.txt for more information. */ #ifndef SWIFTEN_IQSerializer_H #define SWIFTEN_IQSerializer_H #include "Swiften/Serializer/GenericStanzaSerializer.h" #include "Swiften/Elements/IQ.h" #include "Swiften/Serializer/XML/XMLElement.h" namespace Swift { class IQSerializer : public GenericStanzaSerializer<IQ> { public: IQSerializer(PayloadSerializerCollection* payloadSerializers) : GenericStanzaSerializer<IQ>("iq", payloadSerializers) {} private: virtual void setStanzaSpecificAttributesGeneric( boost::shared_ptr<IQ> 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; } } }; } #endif