42 lines
866 B
C++
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
|