diff options
Diffstat (limited to 'Swiften/Serializer/GenericStanzaSerializer.h')
-rw-r--r-- | Swiften/Serializer/GenericStanzaSerializer.h | 41 |
1 files changed, 21 insertions, 20 deletions
diff --git a/Swiften/Serializer/GenericStanzaSerializer.h b/Swiften/Serializer/GenericStanzaSerializer.h index 4129ca8..badd55c 100644 --- a/Swiften/Serializer/GenericStanzaSerializer.h +++ b/Swiften/Serializer/GenericStanzaSerializer.h @@ -1,32 +1,33 @@ /* - * Copyright (c) 2010 Remko Tronçon - * Licensed under the GNU General Public License v3. - * See Documentation/Licenses/GPLv3.txt for more information. + * Copyright (c) 2010-2016 Isode Limited. + * All rights reserved. + * See the COPYING file for more information. */ #pragma once +#include <Swiften/Base/API.h> #include <Swiften/Serializer/StanzaSerializer.h> namespace Swift { - template<typename STANZA_TYPE> - class GenericStanzaSerializer : public StanzaSerializer { - public: - GenericStanzaSerializer(const std::string& tag, PayloadSerializerCollection* payloadSerializers) : StanzaSerializer(tag, payloadSerializers) {} + template<typename STANZA_TYPE> + class SWIFTEN_API GenericStanzaSerializer : public StanzaSerializer { + public: + GenericStanzaSerializer(const std::string& tag, PayloadSerializerCollection* payloadSerializers, const boost::optional<std::string>& explicitNS = boost::optional<std::string>()) : StanzaSerializer(tag, payloadSerializers, explicitNS) {} - virtual bool canSerialize(boost::shared_ptr<Element> element) const { - return dynamic_cast<STANZA_TYPE*>(element.get()) != 0; - } + virtual bool canSerialize(std::shared_ptr<ToplevelElement> element) const { + return dynamic_cast<STANZA_TYPE*>(element.get()) != nullptr; + } - virtual void setStanzaSpecificAttributes( - boost::shared_ptr<Element> stanza, - XMLElement& element) const { - setStanzaSpecificAttributesGeneric( - boost::dynamic_pointer_cast<STANZA_TYPE>(stanza), element); - } + virtual void setStanzaSpecificAttributes( + std::shared_ptr<ToplevelElement> stanza, + XMLElement& element) const { + setStanzaSpecificAttributesGeneric( + std::dynamic_pointer_cast<STANZA_TYPE>(stanza), element); + } - virtual void setStanzaSpecificAttributesGeneric( - boost::shared_ptr<STANZA_TYPE>, - XMLElement&) const = 0; - }; + virtual void setStanzaSpecificAttributesGeneric( + std::shared_ptr<STANZA_TYPE>, + XMLElement&) const = 0; + }; } |