diff capnproto/VampnProto.h @ 10:c8451896c40e

Some conversions for plugin handles
author Chris Cannam <c.cannam@qmul.ac.uk>
date Tue, 17 May 2016 09:58:15 +0100
parents d8358afe3f2c
children 1d13354ddc44
line wrap: on
line diff
--- a/capnproto/VampnProto.h	Mon May 16 15:46:22 2016 +0100
+++ b/capnproto/VampnProto.h	Tue May 17 09:58:15 2016 +0100
@@ -9,6 +9,8 @@
 #include <vamp-hostsdk/PluginLoader.h>
 #include <vamp-hostsdk/PluginStaticData.h>
 
+#include "bits/PluginHandleMapper.h"
+
 namespace vampipe
 {
 
@@ -468,6 +470,29 @@
         }
         req.adapterFlags = flags;
     }
+
+    static void
+    buildLoadResponse(LoadResponse::Builder &b,
+                      const Vamp::HostExt::LoadResponse &resp,
+                      PluginHandleMapper &mapper) {
+
+        b.setPluginHandle(mapper.pluginToHandle(resp.plugin));
+        auto sd = b.initStaticData();
+        buildPluginStaticData(sd, resp.staticData);
+        auto conf = b.initDefaultConfiguration();
+        buildPluginConfiguration(conf, resp.defaultConfiguration);
+    }
+
+    static void
+    readLoadResponse(Vamp::HostExt::LoadResponse &resp,
+                     const LoadResponse::Reader &r,
+                     PluginHandleMapper &mapper) {
+
+        resp.plugin = mapper.handleToPlugin(r.getPluginHandle());
+        readPluginStaticData(resp.staticData, r.getStaticData());
+        readPluginConfiguration(resp.defaultConfiguration,
+                                r.getDefaultConfiguration());
+    }
 };
 
 }