filter/Plugin: return std::unique_ptr<PreparedFilter>

This commit is contained in:
Max Kellermann
2017-12-27 09:17:15 +01:00
parent 0e3ff12dd3
commit e2621d5e44
24 changed files with 87 additions and 74 deletions

View File

@@ -26,6 +26,8 @@
#ifndef MPD_FILTER_PLUGIN_HXX
#define MPD_FILTER_PLUGIN_HXX
#include <memory>
struct ConfigBlock;
class PreparedFilter;
@@ -35,7 +37,7 @@ struct FilterPlugin {
/**
* Allocates and configures a filter.
*/
PreparedFilter *(*init)(const ConfigBlock &block);
std::unique_ptr<PreparedFilter> (*init)(const ConfigBlock &block);
};
/**
@@ -46,7 +48,7 @@ struct FilterPlugin {
* @param plugin the filter plugin
* @param block configuration section
*/
PreparedFilter *
std::unique_ptr<PreparedFilter>
filter_new(const FilterPlugin *plugin,
const ConfigBlock &block);
@@ -58,7 +60,7 @@ filter_new(const FilterPlugin *plugin,
*
* @param block the configuration section
*/
PreparedFilter *
std::unique_ptr<PreparedFilter>
filter_configured_new(const ConfigBlock &block);
#endif