Mercurial > hg > piper-cpp
changeset 56:815e94fedc1c
Introduce ListResponse type as well
author | Chris Cannam <c.cannam@qmul.ac.uk> |
---|---|
date | Mon, 19 Sep 2016 14:10:19 +0100 |
parents | 38780f15ac8d |
children | 7aec704705c7 |
files | bits/RequestOrResponse.h capnproto/VampnProto.h json/VampJson.h utilities/json-cli.cpp utilities/vampipe-convert.cpp utilities/vampipe-server.cpp |
diffstat | 6 files changed, 19 insertions(+), 24 deletions(-) [+] |
line wrap: on
line diff
--- a/bits/RequestOrResponse.h Mon Sep 19 13:35:56 2016 +0100 +++ b/bits/RequestOrResponse.h Mon Sep 19 14:10:19 2016 +0100 @@ -62,7 +62,7 @@ bool success; std::string errorText; - std::vector<Vamp::HostExt::PluginStaticData> listResponse; + Vamp::HostExt::ListResponse listResponse; Vamp::HostExt::LoadRequest loadRequest; Vamp::HostExt::LoadResponse loadResponse; Vamp::HostExt::ConfigurationRequest configurationRequest;
--- a/capnproto/VampnProto.h Mon Sep 19 13:35:56 2016 +0100 +++ b/capnproto/VampnProto.h Mon Sep 19 14:10:19 2016 +0100 @@ -682,15 +682,13 @@ static void buildVampResponse_List(VampResponse::Builder &b, - std::string errorText, - const std::vector<Vamp::HostExt::PluginStaticData> &d) { - b.setSuccess(errorText == ""); - b.setErrorText(errorText); + const Vamp::HostExt::ListResponse &resp) { + b.setSuccess(true); auto r = b.getResponse().initList(); - auto p = r.initPlugins(d.size()); - for (size_t i = 0; i < d.size(); ++i) { + auto p = r.initPlugins(resp.pluginData.size()); + for (size_t i = 0; i < resp.pluginData.size(); ++i) { auto pd = p[i]; - buildPluginStaticData(pd, d[i]); + buildPluginStaticData(pd, resp.pluginData[i]); } } @@ -706,7 +704,6 @@ const Vamp::HostExt::LoadResponse &resp, const PluginHandleMapper &pmapper) { b.setSuccess(resp.plugin != 0); - b.setErrorText(""); auto u = b.getResponse().initLoad(); buildLoadResponse(u, resp, pmapper); } @@ -724,7 +721,6 @@ const Vamp::HostExt::ConfigurationResponse &cr, const PluginHandleMapper &pmapper) { b.setSuccess(!cr.outputs.empty()); - b.setErrorText(""); auto u = b.getResponse().initConfigure(); buildConfigurationResponse(u, cr, pmapper); } @@ -742,7 +738,6 @@ const Vamp::HostExt::ProcessResponse &pr, const PluginHandleMapper &pmapper) { b.setSuccess(true); - b.setErrorText(""); auto u = b.getResponse().initProcess(); buildProcessResponse(u, pr, pmapper); } @@ -844,18 +839,18 @@ } static void - readVampResponse_List(std::vector<Vamp::HostExt::PluginStaticData> &v, + readVampResponse_List(Vamp::HostExt::ListResponse &resp, const VampResponse::Reader &r) { if (getRequestResponseType(r) != RRType::List) { throw std::logic_error("not a list response"); } - v.clear(); + resp.pluginData.clear(); if (r.getSuccess()) { auto pp = r.getResponse().getList().getPlugins(); for (const auto &p: pp) { Vamp::HostExt::PluginStaticData psd; readPluginStaticData(psd, p); - v.push_back(psd); + resp.pluginData.push_back(psd); } } }
--- a/json/VampJson.h Mon Sep 19 13:35:56 2016 +0100 +++ b/json/VampJson.h Mon Sep 19 14:10:19 2016 +0100 @@ -927,7 +927,7 @@ static json11::Json fromVampResponse_List(std::string errorText, - const std::vector<Vamp::HostExt::PluginStaticData> &d) { + const Vamp::HostExt::ListResponse &resp) { json11::Json::object jo; jo["type"] = "list"; @@ -935,7 +935,7 @@ jo["errorText"] = errorText; json11::Json::array arr; - for (const auto &a: d) { + for (const auto &a: resp.pluginData) { arr.push_back(fromPluginStaticData(a)); } json11::Json::object po; @@ -1119,16 +1119,16 @@ checkTypeField(j, "list"); } - static std::vector<Vamp::HostExt::PluginStaticData> + static Vamp::HostExt::ListResponse toVampResponse_List(json11::Json j) { - std::vector<Vamp::HostExt::PluginStaticData> arr; + Vamp::HostExt::ListResponse resp; if (successful(j)) { for (const auto &a: j["content"]["plugins"].array_items()) { - arr.push_back(toPluginStaticData(a)); + resp.pluginData.push_back(toPluginStaticData(a)); } } - return arr; + return resp; } static Vamp::HostExt::LoadRequest
--- a/utilities/json-cli.cpp Mon Sep 19 13:35:56 2016 +0100 +++ b/utilities/json-cli.cpp Mon Sep 19 14:10:19 2016 +0100 @@ -58,10 +58,10 @@ } auto loader = PluginLoader::getInstance(); - auto pluginData = loader->listPluginData(); + auto resp = loader->listPluginData(); Json::array j; - for (const auto &pd: pluginData) { + for (const auto &pd: resp.pluginData) { j.push_back(VampJson::fromPluginStaticData(pd)); } return Json(j);
--- a/utilities/vampipe-convert.cpp Mon Sep 19 13:35:56 2016 +0100 +++ b/utilities/vampipe-convert.cpp Mon Sep 19 14:10:19 2016 +0100 @@ -365,7 +365,7 @@ switch (rr.type) { case RRType::List: - VampnProto::buildVampResponse_List(builder, "", rr.listResponse); + VampnProto::buildVampResponse_List(builder, rr.listResponse); break; case RRType::Load: VampnProto::buildVampResponse_Load(builder, rr.loadResponse, mapper);
--- a/utilities/vampipe-server.cpp Mon Sep 19 13:35:56 2016 +0100 +++ b/utilities/vampipe-server.cpp Mon Sep 19 14:10:19 2016 +0100 @@ -89,7 +89,7 @@ switch (rr.type) { case RRType::List: - VampnProto::buildVampResponse_List(builder, "", rr.listResponse); + VampnProto::buildVampResponse_List(builder, rr.listResponse); break; case RRType::Load: VampnProto::buildVampResponse_Load(builder, rr.loadResponse, mapper);