comparison VamPipePluginLibrary.h @ 88:6c4b43298968

Introduce a new layer to abstract away plugin construction, so plugins needing more constructor arguments can easily be dealt with
author Chris Cannam <c.cannam@qmul.ac.uk>
date Wed, 14 Sep 2016 17:58:41 +0100
parents a6ab5fd80eb7
children 4a5de1bb2c6a
comparison
equal deleted inserted replaced
87:2fbefc82d460 88:6c4b43298968
45 #include <string> 45 #include <string>
46 #include <cstring> 46 #include <cstring>
47 47
48 namespace vampipe { 48 namespace vampipe {
49 49
50 class VamPipeAdapterBase; 50 class VamPipeAdapterInterface;
51 51
52 class VamPipePluginLibrary 52 class VamPipePluginLibrary
53 { 53 {
54 public: 54 public:
55 VamPipePluginLibrary(std::vector<VamPipeAdapterBase *> pp); 55 VamPipePluginLibrary(std::vector<VamPipeAdapterInterface *> pp);
56 56
57 const char *requestJson(const char *request) { 57 const char *requestJson(const char *request) {
58 return strdup(requestJsonImpl(request).c_str()); 58 return strdup(requestJsonImpl(request).c_str());
59 } 59 }
60 60
78 std::vector<Vamp::HostExt::PluginStaticData> listPluginData() const; 78 std::vector<Vamp::HostExt::PluginStaticData> listPluginData() const;
79 Vamp::HostExt::LoadResponse loadPlugin(Vamp::HostExt::LoadRequest r) const; 79 Vamp::HostExt::LoadResponse loadPlugin(Vamp::HostExt::LoadRequest r) const;
80 Vamp::HostExt::ConfigurationResponse configurePlugin(Vamp::HostExt:: 80 Vamp::HostExt::ConfigurationResponse configurePlugin(Vamp::HostExt::
81 ConfigurationRequest r) const; 81 ConfigurationRequest r) const;
82 82
83 std::map<std::string, VamPipeAdapterBase *> m_adapters; // pluginKey -> adapter 83 std::map<std::string, VamPipeAdapterInterface *> m_adapters; // pluginKey -> adapter
84 CountingPluginHandleMapper m_mapper; 84 CountingPluginHandleMapper m_mapper;
85 bool m_useBase64; 85 bool m_useBase64;
86 }; 86 };
87 87
88 } 88 }