diff vamp-hostsdk/RequestResponse.h @ 462:6ac615fd02a3

Merge from branch vampipe
author Chris Cannam
date Mon, 10 Oct 2016 15:51:33 +0100
parents 85dadd0d482f
children
line wrap: on
line diff
--- a/vamp-hostsdk/RequestResponse.h	Mon Oct 10 15:48:35 2016 +0100
+++ b/vamp-hostsdk/RequestResponse.h	Mon Oct 10 15:51:33 2016 +0100
@@ -54,6 +54,25 @@
 namespace HostExt {
 
 /**
+ * \class ListResponse RequestResponse.h <vamp-hostsdk/RequestResponse.h>
+ * 
+ * Vamp::HostExt::ListResponse is a structure containing the
+ * information returned by PluginLoader when asked to list static
+ * information about the available plugins.
+ *
+ * \see PluginLoader::listPluginData, PluginStaticData
+ *
+ * \note This class was introduced in version 2.7 of the Vamp plugin
+ * SDK, along with the PluginLoader method that returns this structure.
+ */
+struct ListResponse
+{
+    ListResponse() { } // empty by default
+    
+    std::vector<PluginStaticData> available;
+};
+
+/**
  * \class LoadRequest RequestResponse.h <vamp-hostsdk/RequestResponse.h>
  * 
  * Vamp::HostExt::LoadRequest is a structure containing the
@@ -186,9 +205,10 @@
 struct ConfigurationResponse
 {
 public:
-    ConfigurationResponse() // failed by default
-    { }
+    ConfigurationResponse() : // failed by default
+        plugin(0) { }
 
+    Plugin *plugin;
     Plugin::OutputList outputs;
 };
 
@@ -223,7 +243,7 @@
  *
  * A structure that bundles the data returned by a process call and by
  * Plugin::getRemainingFeatures(). This is simply a FeatureSet
- * wrapper, named for symmetry with the other request-response pairs.
+ * wrapper that happens to reference the plugin as well.
  *
  * \see Plugin::process(), Plugin::getRemainingFeatures()
  *
@@ -235,12 +255,39 @@
 struct ProcessResponse
 {
 public:
-    ProcessResponse() // empty by default
-    { }
+    ProcessResponse() : // invalid by default
+        plugin(0) { }
 
+    Plugin *plugin;
     Plugin::FeatureSet features;
 };
 
+/**
+ * \class FinishRequest RequestResponse.h <vamp-hostsdk/RequestResponse.h>
+ *
+ * A structure that bundles the necessary data for finishing
+ * processing, i.e. calling getRemainingFeatures(). This consists only
+ * of the plugin pointer. Caller retains ownership of the plugin.
+ *
+ * \see Plugin::getRemainingFeatures()
+ *
+ * \note This class was introduced in version 2.7 of the Vamp plugin
+ * SDK, but it is not currently used by the SDK. It is supplied as a
+ * convenience for code using the SDK, and for symmetry with the load
+ * and configuration request structs.
+ *
+ * \note The response to a finish request (getRemainingFeatures()) is
+ * a ProcessResponse, just as it is for a process request.
+ */
+struct FinishRequest
+{
+public:
+    FinishRequest() : // invalid by default
+        plugin(0) { }
+
+    Plugin *plugin;
+};
+
 }
 
 }