comparison vamp-hostsdk/PluginLoader.h @ 57:09a1aac6c362 host-factory-stuff

* add wrapper base * make loader able to look up categories
author cannam
date Wed, 09 May 2007 15:21:37 +0000
parents 4ab6224110ef
children
comparison
equal deleted inserted replaced
56:4ab6224110ef 57:09a1aac6c362
50 public: 50 public:
51 PluginLoader(); 51 PluginLoader();
52 virtual ~PluginLoader(); 52 virtual ~PluginLoader();
53 53
54 typedef std::string PluginKey; 54 typedef std::string PluginKey;
55 typedef std::vector<std::string> PluginCategoryHierarchy;
55 56
56 std::vector<PluginKey> listPlugins(); //!!! pass in version number? 57 std::vector<PluginKey> listPlugins(); //!!! pass in version number?
57 58
58 //!!! want to be able to just "delete" the plugin later -- hence 59 //!!! want to be able to just "delete" the plugin later -- hence
59 //have to consider library loading issues -- do we have a wrapper 60 //have to consider library loading issues -- do we have a wrapper
60 //class that tells us when it's been deleted, and keep a reference 61 //class that tells us when it's been deleted, and keep a reference
61 //count for the dynamic library? 62 //count for the dynamic library?
62 Plugin *load(PluginKey key, float inputSampleRate); 63 Plugin *load(PluginKey plugin, float inputSampleRate);
63 64
64 std::string getLibraryPath(PluginKey key); 65 PluginCategoryHierarchy getPluginCategory(PluginKey plugin);
66
67 std::string getLibraryPathForPlugin(PluginKey plugin);
65 68
66 protected: 69 protected:
67 std::map<PluginKey, std::string> m_pluginLibraryMap; 70 std::map<PluginKey, std::string> m_pluginLibraryMap;
71 std::map<PluginKey, PluginCategoryHierarchy> m_taxonomy;
72 void generateTaxonomy();
73 std::vector<std::string> getFilesInDir(std::string dir, std::string ext);
68 }; 74 };
69 75
70 } 76 }
71 77
72 78