⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 classppluginmanager.html

📁 pwlib开发文档
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>PPluginManager class Reference</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.2.18 --><center><a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center><hr><h1>PPluginManager Class Reference</h1><code>#include &lt;<a class="el" href="pluginmgr_8h-source.html">pluginmgr.h</a>&gt;</code><p><p>Inheritance diagram for PPluginManager:<p><center><img src="classPPluginManager.png" usemap="#PPluginManager_map" border="0" alt=""></center><map name="PPluginManager_map"><area href="classPObject.html" alt="PObject" shape="rect" coords="0,0,106,24"></map><a href="classPPluginManager-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0><tr><td></td></tr><tr><td colspan=2><br><h2>Public Methods</h2></td></tr><tr><td nowrap align=right valign=top>BOOL&nbsp;</td><td valign=bottom><a class="el" href="classPPluginManager.html#a0">LoadPlugin</a> (const <a class="el" href="classPString.html">PString</a> &amp;fileName)</td></tr><tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classPPluginManager.html#a1">LoadPluginDirectory</a> (const <a class="el" href="classPDirectory.html">PDirectory</a> &amp;dir)</td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPStringList.html">PStringList</a>&nbsp;</td><td valign=bottom><a class="el" href="classPPluginManager.html#a2">GetPluginTypes</a> () const</td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPStringList.html">PStringList</a>&nbsp;</td><td valign=bottom><a class="el" href="classPPluginManager.html#a3">GetPluginsProviding</a> (const <a class="el" href="classPString.html">PString</a> &amp;serviceType) const</td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPPluginServiceDescriptor.html">PPluginServiceDescriptor</a> *&nbsp;</td><td valign=bottom><a class="el" href="classPPluginManager.html#a4">GetServiceDescriptor</a> (const <a class="el" href="classPString.html">PString</a> &amp;serviceName, const <a class="el" href="classPString.html">PString</a> &amp;serviceType)</td></tr><tr><td nowrap align=right valign=top>BOOL&nbsp;</td><td valign=bottom><a class="el" href="classPPluginManager.html#a5">RegisterService</a> (const <a class="el" href="classPString.html">PString</a> &amp;serviceName, const <a class="el" href="classPString.html">PString</a> &amp;serviceType, <a class="el" href="classPPluginServiceDescriptor.html">PPluginServiceDescriptor</a> *descriptor)</td></tr><tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classPPluginManager.html#a6">AddNotifier</a> (const <a class="el" href="classPNotifier.html">PNotifier</a> &amp;filterFunction, BOOL existing=FALSE)</td></tr><tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classPPluginManager.html#a7">RemoveNotifier</a> (const <a class="el" href="classPNotifier.html">PNotifier</a> &amp;filterFunction)</td></tr><tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPStringArray.html">PStringArray</a>&nbsp;</td><td valign=bottom><a class="el" href="classPPluginManager.html#d0">GetPluginDirs</a> ()</td></tr><tr><td nowrap align=right valign=top>PPluginManager &amp;&nbsp;</td><td valign=bottom><a class="el" href="classPPluginManager.html#d1">GetPluginManager</a> ()</td></tr><tr><td colspan=2><br><h2>Protected Methods</h2></td></tr><tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classPPluginManager.html#b0">CallNotifier</a> (<a class="el" href="classPDynaLink.html">PDynaLink</a> &amp;dll, INT code)</td></tr><tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPMutex.html">PMutex</a>&nbsp;</td><td valign=bottom><a class="el" href="classPPluginManager.html#n0">pluginListMutex</a></td></tr><tr><td nowrap align=right valign=top>PList&lt; <a class="el" href="classPDynaLink.html">PDynaLink</a> &gt;&nbsp;</td><td valign=bottom><a class="el" href="classPPluginManager.html#n1">pluginList</a></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPMutex.html">PMutex</a>&nbsp;</td><td valign=bottom><a class="el" href="classPPluginManager.html#n2">serviceListMutex</a></td></tr><tr><td nowrap align=right valign=top>PList&lt; <a class="el" href="classPPluginService.html">PPluginService</a> &gt;&nbsp;</td><td valign=bottom><a class="el" href="classPPluginManager.html#n3">serviceList</a></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPMutex.html">PMutex</a>&nbsp;</td><td valign=bottom><a class="el" href="classPPluginManager.html#n4">notifierMutex</a></td></tr><tr><td nowrap align=right valign=top>PList&lt; <a class="el" href="classPNotifier.html">PNotifier</a> &gt;&nbsp;</td><td valign=bottom><a class="el" href="classPPluginManager.html#n5">notifierList</a></td></tr></table><hr><h2>Member Function Documentation</h2><a name="a6" doxytag="PPluginManager::AddNotifier"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top"> void PPluginManager::AddNotifier </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">const <a class="el" href="classPNotifier.html">PNotifier</a> &amp;&nbsp;</td>          <td class="mdname" nowrap>&nbsp; <em>filterFunction</em>, </td>        </tr>        <tr>          <td></td>          <td></td>          <td class="md" nowrap>BOOL&nbsp;</td>          <td class="mdname" nowrap>&nbsp; <em>existing</em> = FALSE</td>        </tr>        <tr>          <td></td>          <td class="md">)&nbsp;</td>          <td class="md" colspan="2"></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>Add a notifier to the plugin manager. The call back function is executed just after loading, or  just after unloading, a plugin.<p>To use define: <a class="el" href="notifier_8h.html#a0">PDECLARE_NOTIFIER(PDynaLink, YourClass, YourFunction)</a>; and void YourClass::YourFunction(PDynaLink &amp; dll, INT code) { code == 0 means loading code == 1 means unloading } and to connect to the plugin manager: PPluginManager &amp; mgr = <a class="el" href="classPPluginManager.html#d1">PPluginManager::GetPluginManager()</a>; mgr-&gt;AddNotifier((<a class="el" href="notifier_8h.html#a2">PCREATE_NOTIFIER(YourFunction)</a>);     </td>  </tr></table><a name="b0" doxytag="PPluginManager::CallNotifier"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top"> void PPluginManager::CallNotifier </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top"><a class="el" href="classPDynaLink.html">PDynaLink</a> &amp;&nbsp;</td>          <td class="mdname" nowrap>&nbsp; <em>dll</em>, </td>        </tr>        <tr>          <td></td>          <td></td>          <td class="md" nowrap>INT&nbsp;</td>          <td class="mdname" nowrap>&nbsp; <em>code</em></td>        </tr>        <tr>          <td></td>          <td class="md">)&nbsp;</td>          <td class="md" colspan="2"><code> [protected]</code></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>    </td>  </tr></table><a name="d0" doxytag="PPluginManager::GetPluginDirs"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top"> <a class="el" href="classPStringArray.html">PStringArray</a> PPluginManager::GetPluginDirs </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>          <td class="md" valign="top">)&nbsp;</td>          <td class="md" nowrap><code> [static]</code></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>    </td>  </tr></table><a name="d1" doxytag="PPluginManager::GetPluginManager"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top"> PPluginManager&amp; PPluginManager::GetPluginManager </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>          <td class="md" valign="top">)&nbsp;</td>          <td class="md" nowrap><code> [static]</code></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>    </td>  </tr></table><a name="a3" doxytag="PPluginManager::GetPluginsProviding"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top"> <a class="el" href="classPStringList.html">PStringList</a> PPluginManager::GetPluginsProviding </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">const <a class="el" href="classPString.html">PString</a> &amp;&nbsp;</td>          <td class="mdname1" valign="top" nowrap>&nbsp; <em>serviceType</em>          </td>          <td class="md" valign="top">)&nbsp;</td>          <td class="md" nowrap> const</td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>    </td>  </tr></table><a name="a2" doxytag="PPluginManager::GetPluginTypes"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top"> <a class="el" href="classPStringList.html">PStringList</a> PPluginManager::GetPluginTypes </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>          <td class="md" valign="top">)&nbsp;</td>          <td class="md" nowrap></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>    </td>  </tr></table><a name="a4" doxytag="PPluginManager::GetServiceDescriptor"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top"> <a class="el" href="classPPluginServiceDescriptor.html">PPluginServiceDescriptor</a>* PPluginManager::GetServiceDescriptor </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">const <a class="el" href="classPString.html">PString</a> &amp;&nbsp;</td>          <td class="mdname" nowrap>&nbsp; <em>serviceName</em>, </td>        </tr>        <tr>          <td></td>          <td></td>          <td class="md" nowrap>const <a class="el" href="classPString.html">PString</a> &amp;&nbsp;</td>          <td class="mdname" nowrap>&nbsp; <em>serviceType</em></td>        </tr>        <tr>          <td></td>          <td class="md">)&nbsp;</td>          <td class="md" colspan="2"></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>    </td>  </tr></table><a name="a0" doxytag="PPluginManager::LoadPlugin"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -