cannam@0: cannam@0: cannam@0: VampPluginSDK: Vamp::HostExt::PluginLoader::Impl Class Reference cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0:
cannam@0:

Vamp::HostExt::PluginLoader::Impl Class Reference

cannam@0:

cannam@0: List of all members.


Detailed Description

cannam@0: cannam@0:

Definition at line 73 of file PluginLoader.cpp.

cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0:

Public Member Functions

 Impl ()
virtual ~Impl ()
PluginKeyList listPlugins ()
PluginloadPlugin (PluginKey key, float inputSampleRate, int adapterFlags)
PluginKey composePluginKey (string libraryName, string identifier)
PluginCategoryHierarchy getPluginCategory (PluginKey key)
string getLibraryPathForPlugin (PluginKey key)

Static Public Member Functions

static void setInstanceToClean (PluginLoader *instance)

Protected Member Functions

virtual void pluginDeleted (PluginDeletionNotifyAdapter *adapter)
void enumeratePlugins (PluginKey forPlugin="")
void generateTaxonomy ()
bool decomposePluginKey (PluginKey key, string &libraryName, string &identifier)
void * loadLibrary (string path)
void unloadLibrary (void *handle)
void * lookupInLibrary (void *handle, const char *symbol)
string splicePath (string a, string b)
vector< string > listFiles (string dir, string ext)

Protected Attributes

map< PluginKey, string > m_pluginLibraryNameMap
bool m_allPluginsEnumerated
map< PluginKey,
cannam@0: PluginCategoryHierarchy
m_taxonomy
map< Plugin *, void * > m_pluginLibraryHandleMap

Static Protected Attributes

static InstanceCleaner m_cleaner

Classes

class  InstanceCleaner
class  PluginDeletionNotifyAdapter
cannam@0:

Constructor & Destructor Documentation

cannam@0: cannam@0:
cannam@0:
cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0:
Vamp::HostExt::PluginLoader::Impl::Impl (  ) 
cannam@0:
cannam@0:
cannam@0: cannam@0:

cannam@0: cannam@0:

Definition at line 196 of file PluginLoader.cpp.

cannam@0: cannam@0:
cannam@0:

cannam@0: cannam@0:

cannam@0:
cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0:
Vamp::HostExt::PluginLoader::Impl::~Impl (  )  [virtual]
cannam@0:
cannam@0:
cannam@0: cannam@0:

cannam@0: cannam@0:

Definition at line 201 of file PluginLoader.cpp.

cannam@0: cannam@0:
cannam@0:

cannam@0:


Member Function Documentation

cannam@0: cannam@0:
cannam@0:
cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0:
vector< PluginLoader::PluginKey > Vamp::HostExt::PluginLoader::Impl::listPlugins (  ) 
cannam@0:
cannam@0:
cannam@0: cannam@0:

cannam@0: cannam@0:

Definition at line 212 of file PluginLoader.cpp.

cannam@0: cannam@0:

References enumeratePlugins(), m_allPluginsEnumerated, and m_pluginLibraryNameMap.

cannam@0: cannam@0:

Referenced by Vamp::HostExt::PluginLoader::listPlugins().

cannam@0: cannam@0:
cannam@0:

cannam@0: cannam@0:

cannam@0:
cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0:
Plugin * Vamp::HostExt::PluginLoader::Impl::loadPlugin (PluginKey  key,
float  inputSampleRate,
int  adapterFlags 
)
cannam@0:
cannam@0: cannam@0:

cannam@0: cannam@0:

cannam@0:
cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0:
PluginLoader::PluginKey Vamp::HostExt::PluginLoader::Impl::composePluginKey (string  libraryName,
string  identifier 
)
cannam@0:
cannam@0:
cannam@0: cannam@0:

cannam@0: cannam@0:

Definition at line 299 of file PluginLoader.cpp.

cannam@0: cannam@0:

Referenced by enumeratePlugins().

cannam@0: cannam@0:
cannam@0:

cannam@0: cannam@0:

cannam@0:
cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0:
PluginLoader::PluginCategoryHierarchy Vamp::HostExt::PluginLoader::Impl::getPluginCategory (PluginKey  key  ) 
cannam@0:
cannam@0:
cannam@0: cannam@0:

cannam@0: cannam@0:

Definition at line 332 of file PluginLoader.cpp.

cannam@0: cannam@0:

References generateTaxonomy(), and m_taxonomy.

cannam@0: cannam@0:

Referenced by Vamp::HostExt::PluginLoader::getPluginCategory().

cannam@0: cannam@0:
cannam@0:

cannam@0: cannam@0:

cannam@0:
cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0:
string Vamp::HostExt::PluginLoader::Impl::getLibraryPathForPlugin (PluginKey  key  ) 
cannam@0:
cannam@0:
cannam@0: cannam@0:

cannam@0: cannam@0:

Definition at line 342 of file PluginLoader.cpp.

cannam@0: cannam@0:

References enumeratePlugins(), m_allPluginsEnumerated, and m_pluginLibraryNameMap.

cannam@0: cannam@0:

Referenced by Vamp::HostExt::PluginLoader::getLibraryPathForPlugin(), and loadPlugin().

cannam@0: cannam@0:
cannam@0:

cannam@0: cannam@0:

cannam@0:
cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0:
void Vamp::HostExt::PluginLoader::Impl::setInstanceToClean (PluginLoader instance  )  [static]
cannam@0:
cannam@0:
cannam@0: cannam@0:

cannam@0: cannam@0:

Definition at line 206 of file PluginLoader.cpp.

cannam@0: cannam@0:

References m_cleaner, and Vamp::HostExt::PluginLoader::Impl::InstanceCleaner::setInstance().

cannam@0: cannam@0:

Referenced by Vamp::HostExt::PluginLoader::getInstance().

cannam@0: cannam@0:
cannam@0:

cannam@0: cannam@0:

cannam@0:
cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0:
void Vamp::HostExt::PluginLoader::Impl::pluginDeleted (PluginDeletionNotifyAdapter adapter  )  [protected, virtual]
cannam@0:
cannam@0:
cannam@0: cannam@0:

cannam@0: cannam@0:

Definition at line 606 of file PluginLoader.cpp.

cannam@0: cannam@0:

References m_pluginLibraryHandleMap, and unloadLibrary().

cannam@0: cannam@0:

Referenced by Vamp::HostExt::PluginLoader::Impl::PluginDeletionNotifyAdapter::~PluginDeletionNotifyAdapter().

cannam@0: cannam@0:
cannam@0:

cannam@0: cannam@0:

cannam@0:
cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0:
void Vamp::HostExt::PluginLoader::Impl::enumeratePlugins (PluginKey  forPlugin = ""  )  [protected]
cannam@0:
cannam@0: cannam@0:

cannam@0: cannam@0:

cannam@0:
cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0:
void Vamp::HostExt::PluginLoader::Impl::generateTaxonomy (  )  [protected]
cannam@0:
cannam@0:
cannam@0: cannam@0:

cannam@0: cannam@0:

Definition at line 422 of file PluginLoader.cpp.

cannam@0: cannam@0:

References Vamp::PluginHostAdapter::getPluginPath(), listFiles(), m_taxonomy, and splicePath().

cannam@0: cannam@0:

Referenced by getPluginCategory().

cannam@0: cannam@0:
cannam@0:

cannam@0: cannam@0:

cannam@0:
cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0:
bool Vamp::HostExt::PluginLoader::Impl::decomposePluginKey (PluginKey  key,
string &  libraryName,
string &  identifier 
) [protected]
cannam@0:
cannam@0:
cannam@0: cannam@0:

cannam@0: cannam@0:

Definition at line 317 of file PluginLoader.cpp.

cannam@0: cannam@0:

Referenced by enumeratePlugins(), and loadPlugin().

cannam@0: cannam@0:
cannam@0:

cannam@0: cannam@0:

cannam@0:
cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0:
void * Vamp::HostExt::PluginLoader::Impl::loadLibrary (string  path  )  [protected]
cannam@0:
cannam@0:
cannam@0: cannam@0:

cannam@0: cannam@0:

Definition at line 510 of file PluginLoader.cpp.

cannam@0: cannam@0:

Referenced by enumeratePlugins(), and loadPlugin().

cannam@0: cannam@0:
cannam@0:

cannam@0: cannam@0:

cannam@0:
cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0:
void Vamp::HostExt::PluginLoader::Impl::unloadLibrary (void *  handle  )  [protected]
cannam@0:
cannam@0:
cannam@0: cannam@0:

cannam@0: cannam@0:

Definition at line 530 of file PluginLoader.cpp.

cannam@0: cannam@0:

Referenced by enumeratePlugins(), loadPlugin(), and pluginDeleted().

cannam@0: cannam@0:
cannam@0:

cannam@0: cannam@0:

cannam@0:
cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0:
void * Vamp::HostExt::PluginLoader::Impl::lookupInLibrary (void *  handle,
const char *  symbol 
) [protected]
cannam@0:
cannam@0:
cannam@0: cannam@0:

cannam@0: cannam@0:

Definition at line 540 of file PluginLoader.cpp.

cannam@0: cannam@0:

Referenced by enumeratePlugins(), and loadPlugin().

cannam@0: cannam@0:
cannam@0:

cannam@0: cannam@0:

cannam@0:
cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0:
string Vamp::HostExt::PluginLoader::Impl::splicePath (string  a,
string  b 
) [protected]
cannam@0:
cannam@0:
cannam@0: cannam@0:

cannam@0: cannam@0:

Definition at line 550 of file PluginLoader.cpp.

cannam@0: cannam@0:

Referenced by enumeratePlugins(), and generateTaxonomy().

cannam@0: cannam@0:
cannam@0:

cannam@0: cannam@0:

cannam@0:
cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0:
vector< string > Vamp::HostExt::PluginLoader::Impl::listFiles (string  dir,
string  ext 
) [protected]
cannam@0:
cannam@0:
cannam@0: cannam@0:

cannam@0: cannam@0:

Definition at line 560 of file PluginLoader.cpp.

cannam@0: cannam@0:

Referenced by enumeratePlugins(), and generateTaxonomy().

cannam@0: cannam@0:
cannam@0:

cannam@0:


Member Data Documentation

cannam@0: cannam@0:
cannam@0:
cannam@0: cannam@0: cannam@0: cannam@0: cannam@0:
map<PluginKey, string> Vamp::HostExt::PluginLoader::Impl::m_pluginLibraryNameMap [protected]
cannam@0:
cannam@0:
cannam@0: cannam@0:

cannam@0: cannam@0:

Definition at line 113 of file PluginLoader.cpp.

cannam@0: cannam@0:

Referenced by enumeratePlugins(), getLibraryPathForPlugin(), and listPlugins().

cannam@0: cannam@0:
cannam@0:

cannam@0: cannam@0:

cannam@0:
cannam@0: cannam@0: cannam@0: cannam@0: cannam@0:
bool Vamp::HostExt::PluginLoader::Impl::m_allPluginsEnumerated [protected]
cannam@0:
cannam@0:
cannam@0: cannam@0:

cannam@0: cannam@0:

Definition at line 114 of file PluginLoader.cpp.

cannam@0: cannam@0:

Referenced by enumeratePlugins(), getLibraryPathForPlugin(), and listPlugins().

cannam@0: cannam@0:
cannam@0:

cannam@0: cannam@0:

cannam@0:
cannam@0: cannam@0: cannam@0: cannam@0: cannam@0:
map<PluginKey, PluginCategoryHierarchy> Vamp::HostExt::PluginLoader::Impl::m_taxonomy [protected]
cannam@0:
cannam@0:
cannam@0: cannam@0:

cannam@0: cannam@0:

Definition at line 117 of file PluginLoader.cpp.

cannam@0: cannam@0:

Referenced by generateTaxonomy(), and getPluginCategory().

cannam@0: cannam@0:
cannam@0:

cannam@0: cannam@0:

cannam@0:
cannam@0: cannam@0: cannam@0: cannam@0: cannam@0:
map<Plugin *, void *> Vamp::HostExt::PluginLoader::Impl::m_pluginLibraryHandleMap [protected]
cannam@0:
cannam@0:
cannam@0: cannam@0:

cannam@0: cannam@0:

Definition at line 120 of file PluginLoader.cpp.

cannam@0: cannam@0:

Referenced by loadPlugin(), and pluginDeleted().

cannam@0: cannam@0:
cannam@0:

cannam@0: cannam@0:

cannam@0:
cannam@0: cannam@0: cannam@0: cannam@0: cannam@0:
PluginLoader::Impl::InstanceCleaner Vamp::HostExt::PluginLoader::Impl::m_cleaner [static, protected]
cannam@0:
cannam@0:
cannam@0: cannam@0:

cannam@0: cannam@0:

Definition at line 132 of file PluginLoader.cpp.

cannam@0: cannam@0:

Referenced by setInstanceToClean().

cannam@0: cannam@0:
cannam@0:

cannam@0:


The documentation for this class was generated from the following file: cannam@0:
cannam@0:
Generated on Wed Jul 9 11:36:10 2008 for VampPluginSDK by  cannam@0: cannam@0: doxygen 1.5.5
cannam@0: cannam@0: