Clementine-audio-player-Mac.../3rdparty/libprojectm/NativePresetFactory/NativePresetFactory.hpp

42 lines
866 B
C++

//
// C++ Interface: NativePresetFactory
//
// Description:
//
//
// Author: Carmelo Piccione <carmelo.piccione@gmail.com>, (C) 2008
//
// Copyright: See COPYING file that comes with this distribution
//
//
#ifndef __NATIVE_PRESET_FACTORY_HPP
#define __NATIVE_PRESET_FACTORY_HPP
#include <memory>
#include "PresetFactory.hpp"
class PresetLibrary;
class NativePresetFactory : public PresetFactory {
public:
NativePresetFactory();
virtual ~NativePresetFactory();
virtual std::auto_ptr<Preset> allocate(const std::string & url, const std::string & name = std::string(),
const std::string & author = std::string());
virtual std::string supportedExtensions() const { return "so"; }
private:
PresetLibrary * loadLibrary(const std::string & url);
typedef std::map<std::string, PresetLibrary*> PresetLibraryMap;
PresetLibraryMap _libraries;
};
#endif