mirror of
https://github.com/clementine-player/Clementine
synced 2024-12-16 19:31:02 +01:00
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
|