view code-doc/classVamp_1_1HostExt_1_1PluginLoader_1_1Impl.html @ 0:351c4ebce5f9 website

* Move website from vamp-website/trunk to plain website
author cannam
date Mon, 22 Sep 2008 13:01:46 +0000
parents
children
line wrap: on
line source
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>VampPluginSDK: Vamp::HostExt::PluginLoader::Impl Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.5 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="namespaceVamp.html">Vamp</a>::<a class="el" href="namespaceVamp_1_1HostExt.html">HostExt</a>::<a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html">PluginLoader</a>::<a class="el" href="classVamp_1_1HostExt_1_1PluginLoader_1_1Impl.html">Impl</a>
  </div>
</div>
<div class="contents">
<h1>Vamp::HostExt::PluginLoader::Impl Class Reference</h1><!-- doxytag: class="Vamp::HostExt::PluginLoader::Impl" -->
<p>
<a href="classVamp_1_1HostExt_1_1PluginLoader_1_1Impl-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>

<p>Definition at line <a class="el" href="PluginLoader_8cpp-source.html#l00073">73</a> of file <a class="el" href="PluginLoader_8cpp-source.html">PluginLoader.cpp</a>.</p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader_1_1Impl.html#ddac537272c2eb69973cbb942dc11deb">Impl</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader_1_1Impl.html#1e28874a14fafaf015404694da5fcfc8">~Impl</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#0d48b76e4f995110f53e0feeb23f733a">PluginKeyList</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader_1_1Impl.html#398ccb508176f5550b2b2ca05f1fa3eb">listPlugins</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html">Plugin</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader_1_1Impl.html#3f6c4872459007b13722818cbdac409c">loadPlugin</a> (<a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#473645bbb3ac5c1a0da2f0f482947c4d">PluginKey</a> key, float inputSampleRate, int adapterFlags)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#473645bbb3ac5c1a0da2f0f482947c4d">PluginKey</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader_1_1Impl.html#c84fafd9b12d44f8756628571b57d7ea">composePluginKey</a> (string libraryName, string identifier)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#d6a39aa0c79d8d9209eb0b8dfe9d1364">PluginCategoryHierarchy</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader_1_1Impl.html#de4a5a8acbd85537c99440c4ac974be4">getPluginCategory</a> (<a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#473645bbb3ac5c1a0da2f0f482947c4d">PluginKey</a> key)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader_1_1Impl.html#aac3ed8bf770f0675e624d411dab3efb">getLibraryPathForPlugin</a> (<a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#473645bbb3ac5c1a0da2f0f482947c4d">PluginKey</a> key)</td></tr>

<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader_1_1Impl.html#b7147ecb2186a715b0f7e83ba70f0946">setInstanceToClean</a> (<a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html">PluginLoader</a> *instance)</td></tr>

<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader_1_1Impl.html#e0a6e1bf07a62eb6a34a1393bc3da26c">pluginDeleted</a> (<a class="el" href="classVamp_1_1HostExt_1_1PluginLoader_1_1Impl_1_1PluginDeletionNotifyAdapter.html">PluginDeletionNotifyAdapter</a> *adapter)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader_1_1Impl.html#6fb71e4d0b4ff367ffef141c5e62763d">enumeratePlugins</a> (<a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#473645bbb3ac5c1a0da2f0f482947c4d">PluginKey</a> forPlugin=&quot;&quot;)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader_1_1Impl.html#923d9ace30548d8f3cce58b4037ec9e4">generateTaxonomy</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader_1_1Impl.html#b06d720c0d53f908426ce244294d38ed">decomposePluginKey</a> (<a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#473645bbb3ac5c1a0da2f0f482947c4d">PluginKey</a> key, string &amp;libraryName, string &amp;identifier)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader_1_1Impl.html#c0618149e415b7fd8ad782f434070752">loadLibrary</a> (string path)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader_1_1Impl.html#6a93367036f896d505f553b616e1e7aa">unloadLibrary</a> (void *handle)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader_1_1Impl.html#ec71088ca89ba77f357bde8b37b807f8">lookupInLibrary</a> (void *handle, const char *symbol)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader_1_1Impl.html#eb7a794c0a2410a81a382a08e8a0143c">splicePath</a> (string a, string b)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">vector&lt; string &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader_1_1Impl.html#2dd3964e84bca56390cd31b079fbc01f">listFiles</a> (string dir, string ext)</td></tr>

<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">map&lt; <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#473645bbb3ac5c1a0da2f0f482947c4d">PluginKey</a>, string &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader_1_1Impl.html#59f6310a3bb71f761b635d06408713f3">m_pluginLibraryNameMap</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader_1_1Impl.html#d7b867e5cf9c29ad7254f567849f9913">m_allPluginsEnumerated</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">map&lt; <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#473645bbb3ac5c1a0da2f0f482947c4d">PluginKey</a>, <br>
<a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#d6a39aa0c79d8d9209eb0b8dfe9d1364">PluginCategoryHierarchy</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader_1_1Impl.html#2ba901c7e59ece349b715d4a3fec7b04">m_taxonomy</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">map&lt; <a class="el" href="classVamp_1_1Plugin.html">Plugin</a> *, void * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader_1_1Impl.html#1c3cee03d20e669c8b9379247a222600">m_pluginLibraryHandleMap</a></td></tr>

<tr><td colspan="2"><br><h2>Static Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader_1_1Impl_1_1InstanceCleaner.html">InstanceCleaner</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader_1_1Impl.html#5d03696d9093949f627bd684c8db44c2">m_cleaner</a></td></tr>

<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader_1_1Impl_1_1InstanceCleaner.html">InstanceCleaner</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader_1_1Impl_1_1PluginDeletionNotifyAdapter.html">PluginDeletionNotifyAdapter</a></td></tr>

</table>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="ddac537272c2eb69973cbb942dc11deb"></a><!-- doxytag: member="Vamp::HostExt::PluginLoader::Impl::Impl" ref="ddac537272c2eb69973cbb942dc11deb" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Vamp::HostExt::PluginLoader::Impl::Impl           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="PluginLoader_8cpp-source.html#l00196">196</a> of file <a class="el" href="PluginLoader_8cpp-source.html">PluginLoader.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="1e28874a14fafaf015404694da5fcfc8"></a><!-- doxytag: member="Vamp::HostExt::PluginLoader::Impl::~Impl" ref="1e28874a14fafaf015404694da5fcfc8" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Vamp::HostExt::PluginLoader::Impl::~Impl           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="PluginLoader_8cpp-source.html#l00201">201</a> of file <a class="el" href="PluginLoader_8cpp-source.html">PluginLoader.cpp</a>.</p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="398ccb508176f5550b2b2ca05f1fa3eb"></a><!-- doxytag: member="Vamp::HostExt::PluginLoader::Impl::listPlugins" ref="398ccb508176f5550b2b2ca05f1fa3eb" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">vector&lt; <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#473645bbb3ac5c1a0da2f0f482947c4d">PluginLoader::PluginKey</a> &gt; Vamp::HostExt::PluginLoader::Impl::listPlugins           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="PluginLoader_8cpp-source.html#l00212">212</a> of file <a class="el" href="PluginLoader_8cpp-source.html">PluginLoader.cpp</a>.</p>

<p>References <a class="el" href="PluginLoader_8cpp-source.html#l00226">enumeratePlugins()</a>, <a class="el" href="PluginLoader_8cpp-source.html#l00114">m_allPluginsEnumerated</a>, and <a class="el" href="PluginLoader_8cpp-source.html#l00113">m_pluginLibraryNameMap</a>.</p>

<p>Referenced by <a class="el" href="PluginLoader_8cpp-source.html#l00165">Vamp::HostExt::PluginLoader::listPlugins()</a>.</p>

</div>
</div><p>
<a class="anchor" name="3f6c4872459007b13722818cbdac409c"></a><!-- doxytag: member="Vamp::HostExt::PluginLoader::Impl::loadPlugin" ref="3f6c4872459007b13722818cbdac409c" args="(PluginKey key, float inputSampleRate, int adapterFlags)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classVamp_1_1Plugin.html">Plugin</a> * Vamp::HostExt::PluginLoader::Impl::loadPlugin           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#473645bbb3ac5c1a0da2f0f482947c4d">PluginKey</a>&nbsp;</td>
          <td class="paramname"> <em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>inputSampleRate</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>adapterFlags</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="PluginLoader_8cpp-source.html#l00355">355</a> of file <a class="el" href="PluginLoader_8cpp-source.html">PluginLoader.cpp</a>.</p>

<p>References <a class="el" href="PluginLoader_8h-source.html#l00170">Vamp::HostExt::PluginLoader::ADAPT_BUFFER_SIZE</a>, <a class="el" href="PluginLoader_8h-source.html#l00169">Vamp::HostExt::PluginLoader::ADAPT_CHANNEL_COUNT</a>, <a class="el" href="PluginLoader_8h-source.html#l00168">Vamp::HostExt::PluginLoader::ADAPT_INPUT_DOMAIN</a>, <a class="el" href="PluginLoader_8cpp-source.html#l00317">decomposePluginKey()</a>, <a class="el" href="Plugin_8h-source.html#l00149">Vamp::Plugin::FrequencyDomain</a>, <a class="el" href="classVamp_1_1Plugin.html#e1d317a9702cbeda65ddf0ec500c1ff6">Vamp::Plugin::getInputDomain()</a>, <a class="el" href="PluginLoader_8cpp-source.html#l00342">getLibraryPathForPlugin()</a>, <a class="el" href="vamp_8h-source.html#l00212">_VampPluginDescriptor::identifier</a>, <a class="el" href="PluginLoader_8cpp-source.html#l00510">loadLibrary()</a>, <a class="el" href="PluginLoader_8cpp-source.html#l00540">lookupInLibrary()</a>, <a class="el" href="PluginLoader_8cpp-source.html#l00120">m_pluginLibraryHandleMap</a>, <a class="el" href="PluginLoader_8cpp-source.html#l00530">unloadLibrary()</a>, and <a class="el" href="vamp_8h-source.html#l00053">VAMP_API_VERSION</a>.</p>

<p>Referenced by <a class="el" href="PluginLoader_8cpp-source.html#l00171">Vamp::HostExt::PluginLoader::loadPlugin()</a>.</p>

</div>
</div><p>
<a class="anchor" name="c84fafd9b12d44f8756628571b57d7ea"></a><!-- doxytag: member="Vamp::HostExt::PluginLoader::Impl::composePluginKey" ref="c84fafd9b12d44f8756628571b57d7ea" args="(string libraryName, string identifier)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#473645bbb3ac5c1a0da2f0f482947c4d">PluginLoader::PluginKey</a> Vamp::HostExt::PluginLoader::Impl::composePluginKey           </td>
          <td>(</td>
          <td class="paramtype">string&nbsp;</td>
          <td class="paramname"> <em>libraryName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">string&nbsp;</td>
          <td class="paramname"> <em>identifier</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="PluginLoader_8cpp-source.html#l00299">299</a> of file <a class="el" href="PluginLoader_8cpp-source.html">PluginLoader.cpp</a>.</p>

<p>Referenced by <a class="el" href="PluginLoader_8cpp-source.html#l00226">enumeratePlugins()</a>.</p>

</div>
</div><p>
<a class="anchor" name="de4a5a8acbd85537c99440c4ac974be4"></a><!-- doxytag: member="Vamp::HostExt::PluginLoader::Impl::getPluginCategory" ref="de4a5a8acbd85537c99440c4ac974be4" args="(PluginKey key)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#d6a39aa0c79d8d9209eb0b8dfe9d1364">PluginLoader::PluginCategoryHierarchy</a> Vamp::HostExt::PluginLoader::Impl::getPluginCategory           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#473645bbb3ac5c1a0da2f0f482947c4d">PluginKey</a>&nbsp;</td>
          <td class="paramname"> <em>key</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="PluginLoader_8cpp-source.html#l00332">332</a> of file <a class="el" href="PluginLoader_8cpp-source.html">PluginLoader.cpp</a>.</p>

<p>References <a class="el" href="PluginLoader_8cpp-source.html#l00422">generateTaxonomy()</a>, and <a class="el" href="PluginLoader_8cpp-source.html#l00117">m_taxonomy</a>.</p>

<p>Referenced by <a class="el" href="PluginLoader_8cpp-source.html#l00185">Vamp::HostExt::PluginLoader::getPluginCategory()</a>.</p>

</div>
</div><p>
<a class="anchor" name="aac3ed8bf770f0675e624d411dab3efb"></a><!-- doxytag: member="Vamp::HostExt::PluginLoader::Impl::getLibraryPathForPlugin" ref="aac3ed8bf770f0675e624d411dab3efb" args="(PluginKey key)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string Vamp::HostExt::PluginLoader::Impl::getLibraryPathForPlugin           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#473645bbb3ac5c1a0da2f0f482947c4d">PluginKey</a>&nbsp;</td>
          <td class="paramname"> <em>key</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="PluginLoader_8cpp-source.html#l00342">342</a> of file <a class="el" href="PluginLoader_8cpp-source.html">PluginLoader.cpp</a>.</p>

<p>References <a class="el" href="PluginLoader_8cpp-source.html#l00226">enumeratePlugins()</a>, <a class="el" href="PluginLoader_8cpp-source.html#l00114">m_allPluginsEnumerated</a>, and <a class="el" href="PluginLoader_8cpp-source.html#l00113">m_pluginLibraryNameMap</a>.</p>

<p>Referenced by <a class="el" href="PluginLoader_8cpp-source.html#l00191">Vamp::HostExt::PluginLoader::getLibraryPathForPlugin()</a>, and <a class="el" href="PluginLoader_8cpp-source.html#l00355">loadPlugin()</a>.</p>

</div>
</div><p>
<a class="anchor" name="b7147ecb2186a715b0f7e83ba70f0946"></a><!-- doxytag: member="Vamp::HostExt::PluginLoader::Impl::setInstanceToClean" ref="b7147ecb2186a715b0f7e83ba70f0946" args="(PluginLoader *instance)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Vamp::HostExt::PluginLoader::Impl::setInstanceToClean           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html">PluginLoader</a> *&nbsp;</td>
          <td class="paramname"> <em>instance</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="PluginLoader_8cpp-source.html#l00206">206</a> of file <a class="el" href="PluginLoader_8cpp-source.html">PluginLoader.cpp</a>.</p>

<p>References <a class="el" href="PluginLoader_8cpp-source.html#l00132">m_cleaner</a>, and <a class="el" href="PluginLoader_8cpp-source.html#l00106">Vamp::HostExt::PluginLoader::Impl::InstanceCleaner::setInstance()</a>.</p>

<p>Referenced by <a class="el" href="PluginLoader_8cpp-source.html#l00152">Vamp::HostExt::PluginLoader::getInstance()</a>.</p>

</div>
</div><p>
<a class="anchor" name="e0a6e1bf07a62eb6a34a1393bc3da26c"></a><!-- doxytag: member="Vamp::HostExt::PluginLoader::Impl::pluginDeleted" ref="e0a6e1bf07a62eb6a34a1393bc3da26c" args="(PluginDeletionNotifyAdapter *adapter)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Vamp::HostExt::PluginLoader::Impl::pluginDeleted           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader_1_1Impl_1_1PluginDeletionNotifyAdapter.html">PluginDeletionNotifyAdapter</a> *&nbsp;</td>
          <td class="paramname"> <em>adapter</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="PluginLoader_8cpp-source.html#l00606">606</a> of file <a class="el" href="PluginLoader_8cpp-source.html">PluginLoader.cpp</a>.</p>

<p>References <a class="el" href="PluginLoader_8cpp-source.html#l00120">m_pluginLibraryHandleMap</a>, and <a class="el" href="PluginLoader_8cpp-source.html#l00530">unloadLibrary()</a>.</p>

<p>Referenced by <a class="el" href="PluginLoader_8cpp-source.html#l00620">Vamp::HostExt::PluginLoader::Impl::PluginDeletionNotifyAdapter::~PluginDeletionNotifyAdapter()</a>.</p>

</div>
</div><p>
<a class="anchor" name="6fb71e4d0b4ff367ffef141c5e62763d"></a><!-- doxytag: member="Vamp::HostExt::PluginLoader::Impl::enumeratePlugins" ref="6fb71e4d0b4ff367ffef141c5e62763d" args="(PluginKey forPlugin=&quot;&quot;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Vamp::HostExt::PluginLoader::Impl::enumeratePlugins           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#473645bbb3ac5c1a0da2f0f482947c4d">PluginKey</a>&nbsp;</td>
          <td class="paramname"> <em>forPlugin</em> = <code>&quot;&quot;</code>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="PluginLoader_8cpp-source.html#l00226">226</a> of file <a class="el" href="PluginLoader_8cpp-source.html">PluginLoader.cpp</a>.</p>

<p>References <a class="el" href="PluginLoader_8cpp-source.html#l00299">composePluginKey()</a>, <a class="el" href="PluginLoader_8cpp-source.html#l00317">decomposePluginKey()</a>, <a class="el" href="PluginHostAdapter_8cpp-source.html#l00062">Vamp::PluginHostAdapter::getPluginPath()</a>, <a class="el" href="vamp_8h-source.html#l00212">_VampPluginDescriptor::identifier</a>, <a class="el" href="PluginLoader_8cpp-source.html#l00560">listFiles()</a>, <a class="el" href="PluginLoader_8cpp-source.html#l00510">loadLibrary()</a>, <a class="el" href="PluginLoader_8cpp-source.html#l00540">lookupInLibrary()</a>, <a class="el" href="PluginLoader_8cpp-source.html#l00114">m_allPluginsEnumerated</a>, <a class="el" href="PluginLoader_8cpp-source.html#l00113">m_pluginLibraryNameMap</a>, <a class="el" href="PluginLoader_8cpp-source.html#l00062">PLUGIN_SUFFIX</a>, <a class="el" href="PluginLoader_8cpp-source.html#l00550">splicePath()</a>, <a class="el" href="PluginLoader_8cpp-source.html#l00530">unloadLibrary()</a>, and <a class="el" href="vamp_8h-source.html#l00053">VAMP_API_VERSION</a>.</p>

<p>Referenced by <a class="el" href="PluginLoader_8cpp-source.html#l00342">getLibraryPathForPlugin()</a>, and <a class="el" href="PluginLoader_8cpp-source.html#l00212">listPlugins()</a>.</p>

</div>
</div><p>
<a class="anchor" name="923d9ace30548d8f3cce58b4037ec9e4"></a><!-- doxytag: member="Vamp::HostExt::PluginLoader::Impl::generateTaxonomy" ref="923d9ace30548d8f3cce58b4037ec9e4" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Vamp::HostExt::PluginLoader::Impl::generateTaxonomy           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="PluginLoader_8cpp-source.html#l00422">422</a> of file <a class="el" href="PluginLoader_8cpp-source.html">PluginLoader.cpp</a>.</p>

<p>References <a class="el" href="PluginHostAdapter_8cpp-source.html#l00062">Vamp::PluginHostAdapter::getPluginPath()</a>, <a class="el" href="PluginLoader_8cpp-source.html#l00560">listFiles()</a>, <a class="el" href="PluginLoader_8cpp-source.html#l00117">m_taxonomy</a>, and <a class="el" href="PluginLoader_8cpp-source.html#l00550">splicePath()</a>.</p>

<p>Referenced by <a class="el" href="PluginLoader_8cpp-source.html#l00332">getPluginCategory()</a>.</p>

</div>
</div><p>
<a class="anchor" name="b06d720c0d53f908426ce244294d38ed"></a><!-- doxytag: member="Vamp::HostExt::PluginLoader::Impl::decomposePluginKey" ref="b06d720c0d53f908426ce244294d38ed" args="(PluginKey key, string &amp;libraryName, string &amp;identifier)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Vamp::HostExt::PluginLoader::Impl::decomposePluginKey           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#473645bbb3ac5c1a0da2f0f482947c4d">PluginKey</a>&nbsp;</td>
          <td class="paramname"> <em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">string &amp;&nbsp;</td>
          <td class="paramname"> <em>libraryName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">string &amp;&nbsp;</td>
          <td class="paramname"> <em>identifier</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="PluginLoader_8cpp-source.html#l00317">317</a> of file <a class="el" href="PluginLoader_8cpp-source.html">PluginLoader.cpp</a>.</p>

<p>Referenced by <a class="el" href="PluginLoader_8cpp-source.html#l00226">enumeratePlugins()</a>, and <a class="el" href="PluginLoader_8cpp-source.html#l00355">loadPlugin()</a>.</p>

</div>
</div><p>
<a class="anchor" name="c0618149e415b7fd8ad782f434070752"></a><!-- doxytag: member="Vamp::HostExt::PluginLoader::Impl::loadLibrary" ref="c0618149e415b7fd8ad782f434070752" args="(string path)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void * Vamp::HostExt::PluginLoader::Impl::loadLibrary           </td>
          <td>(</td>
          <td class="paramtype">string&nbsp;</td>
          <td class="paramname"> <em>path</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="PluginLoader_8cpp-source.html#l00510">510</a> of file <a class="el" href="PluginLoader_8cpp-source.html">PluginLoader.cpp</a>.</p>

<p>Referenced by <a class="el" href="PluginLoader_8cpp-source.html#l00226">enumeratePlugins()</a>, and <a class="el" href="PluginLoader_8cpp-source.html#l00355">loadPlugin()</a>.</p>

</div>
</div><p>
<a class="anchor" name="6a93367036f896d505f553b616e1e7aa"></a><!-- doxytag: member="Vamp::HostExt::PluginLoader::Impl::unloadLibrary" ref="6a93367036f896d505f553b616e1e7aa" args="(void *handle)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Vamp::HostExt::PluginLoader::Impl::unloadLibrary           </td>
          <td>(</td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>handle</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="PluginLoader_8cpp-source.html#l00530">530</a> of file <a class="el" href="PluginLoader_8cpp-source.html">PluginLoader.cpp</a>.</p>

<p>Referenced by <a class="el" href="PluginLoader_8cpp-source.html#l00226">enumeratePlugins()</a>, <a class="el" href="PluginLoader_8cpp-source.html#l00355">loadPlugin()</a>, and <a class="el" href="PluginLoader_8cpp-source.html#l00606">pluginDeleted()</a>.</p>

</div>
</div><p>
<a class="anchor" name="ec71088ca89ba77f357bde8b37b807f8"></a><!-- doxytag: member="Vamp::HostExt::PluginLoader::Impl::lookupInLibrary" ref="ec71088ca89ba77f357bde8b37b807f8" args="(void *handle, const char *symbol)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void * Vamp::HostExt::PluginLoader::Impl::lookupInLibrary           </td>
          <td>(</td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>symbol</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="PluginLoader_8cpp-source.html#l00540">540</a> of file <a class="el" href="PluginLoader_8cpp-source.html">PluginLoader.cpp</a>.</p>

<p>Referenced by <a class="el" href="PluginLoader_8cpp-source.html#l00226">enumeratePlugins()</a>, and <a class="el" href="PluginLoader_8cpp-source.html#l00355">loadPlugin()</a>.</p>

</div>
</div><p>
<a class="anchor" name="eb7a794c0a2410a81a382a08e8a0143c"></a><!-- doxytag: member="Vamp::HostExt::PluginLoader::Impl::splicePath" ref="eb7a794c0a2410a81a382a08e8a0143c" args="(string a, string b)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string Vamp::HostExt::PluginLoader::Impl::splicePath           </td>
          <td>(</td>
          <td class="paramtype">string&nbsp;</td>
          <td class="paramname"> <em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">string&nbsp;</td>
          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="PluginLoader_8cpp-source.html#l00550">550</a> of file <a class="el" href="PluginLoader_8cpp-source.html">PluginLoader.cpp</a>.</p>

<p>Referenced by <a class="el" href="PluginLoader_8cpp-source.html#l00226">enumeratePlugins()</a>, and <a class="el" href="PluginLoader_8cpp-source.html#l00422">generateTaxonomy()</a>.</p>

</div>
</div><p>
<a class="anchor" name="2dd3964e84bca56390cd31b079fbc01f"></a><!-- doxytag: member="Vamp::HostExt::PluginLoader::Impl::listFiles" ref="2dd3964e84bca56390cd31b079fbc01f" args="(string dir, string ext)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">vector&lt; string &gt; Vamp::HostExt::PluginLoader::Impl::listFiles           </td>
          <td>(</td>
          <td class="paramtype">string&nbsp;</td>
          <td class="paramname"> <em>dir</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">string&nbsp;</td>
          <td class="paramname"> <em>ext</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="PluginLoader_8cpp-source.html#l00560">560</a> of file <a class="el" href="PluginLoader_8cpp-source.html">PluginLoader.cpp</a>.</p>

<p>Referenced by <a class="el" href="PluginLoader_8cpp-source.html#l00226">enumeratePlugins()</a>, and <a class="el" href="PluginLoader_8cpp-source.html#l00422">generateTaxonomy()</a>.</p>

</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="59f6310a3bb71f761b635d06408713f3"></a><!-- doxytag: member="Vamp::HostExt::PluginLoader::Impl::m_pluginLibraryNameMap" ref="59f6310a3bb71f761b635d06408713f3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">map&lt;<a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#473645bbb3ac5c1a0da2f0f482947c4d">PluginKey</a>, string&gt; <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader_1_1Impl.html#59f6310a3bb71f761b635d06408713f3">Vamp::HostExt::PluginLoader::Impl::m_pluginLibraryNameMap</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="PluginLoader_8cpp-source.html#l00113">113</a> of file <a class="el" href="PluginLoader_8cpp-source.html">PluginLoader.cpp</a>.</p>

<p>Referenced by <a class="el" href="PluginLoader_8cpp-source.html#l00226">enumeratePlugins()</a>, <a class="el" href="PluginLoader_8cpp-source.html#l00342">getLibraryPathForPlugin()</a>, and <a class="el" href="PluginLoader_8cpp-source.html#l00212">listPlugins()</a>.</p>

</div>
</div><p>
<a class="anchor" name="d7b867e5cf9c29ad7254f567849f9913"></a><!-- doxytag: member="Vamp::HostExt::PluginLoader::Impl::m_allPluginsEnumerated" ref="d7b867e5cf9c29ad7254f567849f9913" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader_1_1Impl.html#d7b867e5cf9c29ad7254f567849f9913">Vamp::HostExt::PluginLoader::Impl::m_allPluginsEnumerated</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="PluginLoader_8cpp-source.html#l00114">114</a> of file <a class="el" href="PluginLoader_8cpp-source.html">PluginLoader.cpp</a>.</p>

<p>Referenced by <a class="el" href="PluginLoader_8cpp-source.html#l00226">enumeratePlugins()</a>, <a class="el" href="PluginLoader_8cpp-source.html#l00342">getLibraryPathForPlugin()</a>, and <a class="el" href="PluginLoader_8cpp-source.html#l00212">listPlugins()</a>.</p>

</div>
</div><p>
<a class="anchor" name="2ba901c7e59ece349b715d4a3fec7b04"></a><!-- doxytag: member="Vamp::HostExt::PluginLoader::Impl::m_taxonomy" ref="2ba901c7e59ece349b715d4a3fec7b04" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">map&lt;<a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#473645bbb3ac5c1a0da2f0f482947c4d">PluginKey</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#d6a39aa0c79d8d9209eb0b8dfe9d1364">PluginCategoryHierarchy</a>&gt; <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader_1_1Impl.html#2ba901c7e59ece349b715d4a3fec7b04">Vamp::HostExt::PluginLoader::Impl::m_taxonomy</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="PluginLoader_8cpp-source.html#l00117">117</a> of file <a class="el" href="PluginLoader_8cpp-source.html">PluginLoader.cpp</a>.</p>

<p>Referenced by <a class="el" href="PluginLoader_8cpp-source.html#l00422">generateTaxonomy()</a>, and <a class="el" href="PluginLoader_8cpp-source.html#l00332">getPluginCategory()</a>.</p>

</div>
</div><p>
<a class="anchor" name="1c3cee03d20e669c8b9379247a222600"></a><!-- doxytag: member="Vamp::HostExt::PluginLoader::Impl::m_pluginLibraryHandleMap" ref="1c3cee03d20e669c8b9379247a222600" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">map&lt;<a class="el" href="classVamp_1_1Plugin.html">Plugin</a> *, void *&gt; <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader_1_1Impl.html#1c3cee03d20e669c8b9379247a222600">Vamp::HostExt::PluginLoader::Impl::m_pluginLibraryHandleMap</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="PluginLoader_8cpp-source.html#l00120">120</a> of file <a class="el" href="PluginLoader_8cpp-source.html">PluginLoader.cpp</a>.</p>

<p>Referenced by <a class="el" href="PluginLoader_8cpp-source.html#l00355">loadPlugin()</a>, and <a class="el" href="PluginLoader_8cpp-source.html#l00606">pluginDeleted()</a>.</p>

</div>
</div><p>
<a class="anchor" name="5d03696d9093949f627bd684c8db44c2"></a><!-- doxytag: member="Vamp::HostExt::PluginLoader::Impl::m_cleaner" ref="5d03696d9093949f627bd684c8db44c2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader_1_1Impl_1_1InstanceCleaner.html">PluginLoader::Impl::InstanceCleaner</a> <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader_1_1Impl.html#5d03696d9093949f627bd684c8db44c2">Vamp::HostExt::PluginLoader::Impl::m_cleaner</a><code> [static, protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="PluginLoader_8cpp-source.html#l00132">132</a> of file <a class="el" href="PluginLoader_8cpp-source.html">PluginLoader.cpp</a>.</p>

<p>Referenced by <a class="el" href="PluginLoader_8cpp-source.html#l00206">setInstanceToClean()</a>.</p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="PluginLoader_8cpp-source.html">PluginLoader.cpp</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Jul 9 11:36:10 2008 for VampPluginSDK by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
</body>
</html>