/* * Copyright (c) 2011-2016 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ #pragma once #include #include #include namespace Swift { template class SWIFTEN_API GenericPayloadPersister : public PayloadPersister { public: GenericPayloadPersister() { } public: std::shared_ptr loadPayloadGeneric(const boost::filesystem::path& path) { return std::dynamic_pointer_cast(loadPayload(path)); } protected: virtual const PayloadSerializer* getSerializer() const { return &serializer; } virtual PayloadParser* createParser() const { return new PARSER(); } private: SERIALIZER serializer; }; }