/* * Copyright (c) 2010-2017 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ #pragma once #include #include #include namespace Swift { /** * A generic payload parser for payloads of the given type. * * This class provides getPayloadInternal() for retrieving the actual * payload. */ template class GenericPayloadParser : public PayloadParser { public: GenericPayloadParser() : PayloadParser() { payload_ = std::make_shared(); } virtual std::shared_ptr getPayload() const { return payload_; } virtual std::shared_ptr getPayloadInternal() const { return payload_; } private: std::shared_ptr payload_; }; }