Mercurial > hg > svcore
changeset 1375:da5f4d37988d dev/refactor-piper-related
Invert control, injecting a server path on construction. Also add initializer_list constructor for multiple servers.
author | Lucas Thompson <lucas.thompson@qmul.ac.uk> |
---|---|
date | Thu, 09 Feb 2017 14:32:07 +0000 |
parents | 8db84bd61eaa |
children | d9511f9e04d7 |
files | plugin/PiperVampPluginFactory.cpp plugin/PiperVampPluginFactory.h |
diffstat | 2 files changed, 17 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/plugin/PiperVampPluginFactory.cpp Tue Feb 07 14:55:19 2017 +0000 +++ b/plugin/PiperVampPluginFactory.cpp Thu Feb 09 14:32:07 2017 +0000 @@ -54,28 +54,34 @@ } }; -PiperVampPluginFactory::PiperVampPluginFactory() : +PiperVampPluginFactory::PiperVampPluginFactory(std::initializer_list<QString> servers) : m_logger(new Logger) { - QString serverName = "piper-vamp-simple-server"; + HelperExecPath hep(HelperExecPath::AllInstalled); - HelperExecPath hep(HelperExecPath::AllInstalled); - m_servers = hep.getHelperExecutables(serverName); + for (auto server: servers) { + for (auto platformHelper: hep.getHelperExecutables(server)) + m_servers.push_back(platformHelper); + } for (auto n: m_servers) { - SVDEBUG << "NOTE: PiperVampPluginFactory: Found server: " + SVDEBUG << "NOTE: PiperVampPluginFactory: Found server: " << n.executable << endl; } - + if (m_servers.empty()) { - SVDEBUG << "NOTE: No Piper Vamp servers found in installation;" + SVDEBUG << "NOTE: No Piper Vamp servers found in installation;" << " found none of the following:" << endl; - for (auto d: hep.getHelperCandidatePaths(serverName)) { - SVDEBUG << "NOTE: " << d << endl; - } + for (auto serverName: servers) + for (auto d: hep.getHelperCandidatePaths(serverName)) { + SVDEBUG << "NOTE: " << d << endl; + } } } +PiperVampPluginFactory::PiperVampPluginFactory() : + PiperVampPluginFactory({"piper-vamp-simple-server"}) {} + PiperVampPluginFactory::~PiperVampPluginFactory() { delete m_logger;
--- a/plugin/PiperVampPluginFactory.h Tue Feb 07 14:55:19 2017 +0000 +++ b/plugin/PiperVampPluginFactory.h Thu Feb 09 14:32:07 2017 +0000 @@ -35,6 +35,7 @@ { public: PiperVampPluginFactory(); + PiperVampPluginFactory(std::initializer_list<QString> servers); virtual ~PiperVampPluginFactory(); virtual std::vector<QString> getPluginIdentifiers(QString &errorMessage)