Mercurial > hg > vamp-plugin-sdk
comparison vamp-sdk/hostext/PluginLoader.h @ 69:3456fe86d385
* Switch PluginLoader to an m_impl structure to make it generally nicer
author | cannam |
---|---|
date | Wed, 06 Jun 2007 09:49:50 +0000 |
parents | 9d3272c7db60 |
children | 64697dca0d48 |
comparison
equal
deleted
inserted
replaced
68:47d6e670a810 | 69:3456fe86d385 |
---|---|
181 | 181 |
182 protected: | 182 protected: |
183 PluginLoader(); | 183 PluginLoader(); |
184 virtual ~PluginLoader(); | 184 virtual ~PluginLoader(); |
185 | 185 |
186 class PluginDeletionNotifyAdapter : public PluginWrapper { | 186 class Impl; |
187 public: | 187 Impl *m_impl; |
188 PluginDeletionNotifyAdapter(Plugin *plugin, PluginLoader *loader); | |
189 virtual ~PluginDeletionNotifyAdapter(); | |
190 protected: | |
191 PluginLoader *m_loader; | |
192 }; | |
193 | |
194 virtual void pluginDeleted(PluginDeletionNotifyAdapter *adapter); | |
195 | |
196 std::map<PluginKey, std::string> m_pluginLibraryNameMap; | |
197 void generateLibraryMap(); | |
198 | |
199 std::map<PluginKey, PluginCategoryHierarchy> m_taxonomy; | |
200 void generateTaxonomy(); | |
201 | |
202 std::map<Plugin *, void *> m_pluginLibraryHandleMap; | |
203 | |
204 void *loadLibrary(std::string path); | |
205 void unloadLibrary(void *handle); | |
206 void *lookupInLibrary(void *handle, const char *symbol); | |
207 | |
208 std::string splicePath(std::string a, std::string b); | |
209 std::vector<std::string> listFiles(std::string dir, std::string ext); | |
210 | 188 |
211 static PluginLoader *m_instance; | 189 static PluginLoader *m_instance; |
212 }; | 190 }; |
213 | 191 |
214 } | 192 } |