diff options
Diffstat (limited to 'Swiften/Parser/GenericPayloadParser.h')
-rw-r--r-- | Swiften/Parser/GenericPayloadParser.h | 61 |
1 files changed, 29 insertions, 32 deletions
diff --git a/Swiften/Parser/GenericPayloadParser.h b/Swiften/Parser/GenericPayloadParser.h index 572901b..b72189e 100644 --- a/Swiften/Parser/GenericPayloadParser.h +++ b/Swiften/Parser/GenericPayloadParser.h @@ -1,42 +1,39 @@ /* - * 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-2017 Isode Limited. + * All rights reserved. + * See the COPYING file for more information. */ #pragma once -#include <boost/shared_ptr.hpp> -#include <boost/smart_ptr/make_shared.hpp> +#include <memory> +#include <Swiften/Base/API.h> #include <Swiften/Parser/PayloadParser.h> namespace Swift { - - class FormParser; - - /** - * A generic payload parser for payloads of the given type. - * - * This class provides getPayloadInternal() for retrieving the actual - * payload. - */ - template<typename PAYLOAD_TYPE> - class GenericPayloadParser : public PayloadParser { - public: - GenericPayloadParser() : PayloadParser() { - payload_ = boost::make_shared<PAYLOAD_TYPE>(); - } - - virtual boost::shared_ptr<Payload> getPayload() const { - return payload_; - } - - virtual boost::shared_ptr<PAYLOAD_TYPE> getPayloadInternal() const { - return payload_; - } - - private: - boost::shared_ptr<PAYLOAD_TYPE> payload_; - }; + /** + * A generic payload parser for payloads of the given type. + * + * This class provides getPayloadInternal() for retrieving the actual + * payload. + */ + template<typename PAYLOAD_TYPE> + class GenericPayloadParser : public PayloadParser { + public: + GenericPayloadParser() : PayloadParser() { + payload_ = std::make_shared<PAYLOAD_TYPE>(); + } + + virtual std::shared_ptr<Payload> getPayload() const { + return payload_; + } + + virtual std::shared_ptr<PAYLOAD_TYPE> getPayloadInternal() const { + return payload_; + } + + private: + std::shared_ptr<PAYLOAD_TYPE> payload_; + }; } |