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