// // C++ Interface: PresetFactory // // Description: // // // Author: Carmelo Piccione <carmelo.piccione@gmail.com>, (C) 2008 // // Copyright: See COPYING file that comes with this distribution // // #include "Preset.hpp" #include <memory> #ifndef __PRESET_FACTORY_HPP #define __PRESET_FACTORY_HPP class PresetFactory { public: static const std::string IDLE_PRESET_PROTOCOL; static std::string protocol(const std::string & url, std::string & path); inline PresetFactory() {} inline virtual ~PresetFactory() {} /// Constructs a new preset given an url and optional meta data /// \param url a locational identifier referencing the preset /// \param name the preset name /// \param author the preset author /// \returns a valid preset object virtual std::auto_ptr<Preset> allocate(const std::string & url, const std::string & name=std::string(), const std::string & author=std::string()) = 0; /// Returns a space separated list of supported extensions virtual std::string supportedExtensions() const = 0; }; #endif