Mercurial > hg > svcore
diff plugin/PluginXml.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/PluginXml.h Fri Mar 20 16:30:16 2020 +0000 +++ b/plugin/PluginXml.h Fri Mar 20 16:30:33 2020 +0000 @@ -19,20 +19,22 @@ #include "base/XmlExportable.h" #include <vamp-hostsdk/PluginBase.h> +#include <memory> + class QXmlAttributes; class PluginXml : public XmlExportable { public: - PluginXml(Vamp::PluginBase *plugin); + PluginXml(std::shared_ptr<Vamp::PluginBase> plugin); virtual ~PluginXml(); /** * Export plugin settings to XML. */ void toXml(QTextStream &stream, - QString indent = "", - QString extraAttributes = "") const override; + QString indent = "", + QString extraAttributes = "") const override; /** * Set the parameters and program of a plugin from a set of XML @@ -53,7 +55,7 @@ protected: QString stripInvalidParameterNameCharacters(QString) const; - Vamp::PluginBase *m_plugin; + std::shared_ptr<Vamp::PluginBase> m_plugin; }; #endif