Mercurial > hg > svcore
diff plugin/RealTimePluginFactory.h @ 1830:5f8fbbde08ff audio-source-refactor
Use shared_ptr for plugin instances throughout
author | Chris Cannam |
---|---|
date | Fri, 20 Mar 2020 16:30:33 +0000 |
parents | ad5f892c0c4d |
children |
line wrap: on
line diff
--- a/plugin/RealTimePluginFactory.h Fri Mar 20 16:30:16 2020 +0000 +++ b/plugin/RealTimePluginFactory.h Fri Mar 20 16:30:33 2020 +0000 @@ -24,6 +24,7 @@ #include <QString> #include <vector> +#include <memory> #include "base/Debug.h" #include "base/BaseTypes.h" @@ -80,12 +81,12 @@ /** * Get some basic information about a plugin (rapidly). */ - virtual const RealTimePluginDescriptor *getPluginDescriptor(QString identifier) const = 0; + virtual RealTimePluginDescriptor getPluginDescriptor(QString identifier) const = 0; /** * Instantiate a plugin. */ - virtual RealTimePluginInstance *instantiatePlugin(QString identifier, + virtual std::shared_ptr<RealTimePluginInstance> instantiatePlugin(QString identifier, int clientId, int position, sv_samplerate_t sampleRate, @@ -108,10 +109,6 @@ protected: RealTimePluginFactory() { } - // for call by RealTimePluginInstance dtor - virtual void releasePlugin(RealTimePluginInstance *, QString identifier) = 0; - friend class RealTimePluginInstance; - static sv_samplerate_t m_sampleRate; };