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