Sophie

Sophie

distrib > Fedora > 18 > i386 > by-pkgid > fffee38c4ecefcfc897550b36364b55a > files > 187

dmlite-docs-0.6.1-1.fc18.i686.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.3.1"/>
<title>dmlite: dmlite::PluginManager Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">dmlite
   &#160;<span id="projectnumber">0.6</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.3.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</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>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespacedmlite.html">dmlite</a></li><li class="navelem"><a class="el" href="classdmlite_1_1_plugin_manager.html">PluginManager</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="classdmlite_1_1_plugin_manager-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">dmlite::PluginManager Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>CatalogInterface can only be instantiated through this class.  
 <a href="classdmlite_1_1_plugin_manager.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="p_2dmlite_8h_source.html">dmlite.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aa169b783c1fe53e8251798ba82cf0e8d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdmlite_1_1_plugin_manager.html#aa169b783c1fe53e8251798ba82cf0e8d">PluginManager</a> ()  throw ()</td></tr>
<tr class="memdesc:aa169b783c1fe53e8251798ba82cf0e8d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <a href="#aa169b783c1fe53e8251798ba82cf0e8d">More...</a><br/></td></tr>
<tr class="separator:aa169b783c1fe53e8251798ba82cf0e8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ca90f74728fd04c21718afe44b404eb"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdmlite_1_1_plugin_manager.html#a2ca90f74728fd04c21718afe44b404eb">~PluginManager</a> ()</td></tr>
<tr class="memdesc:a2ca90f74728fd04c21718afe44b404eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <a href="#a2ca90f74728fd04c21718afe44b404eb">More...</a><br/></td></tr>
<tr class="separator:a2ca90f74728fd04c21718afe44b404eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6750bef0f502150f55ae2ce48b54ec6a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdmlite_1_1_plugin_manager.html#a6750bef0f502150f55ae2ce48b54ec6a">loadPlugin</a> (const std::string &amp;lib, const std::string &amp;id)  throw (DmException)</td></tr>
<tr class="separator:a6750bef0f502150f55ae2ce48b54ec6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a102ea75de05f1054fa774507d238dc40"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdmlite_1_1_plugin_manager.html#a102ea75de05f1054fa774507d238dc40">configure</a> (const std::string &amp;key, const std::string &amp;value)  throw (DmException)</td></tr>
<tr class="separator:a102ea75de05f1054fa774507d238dc40"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69b19178899014d1e72df342477cd3b5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdmlite_1_1_plugin_manager.html#a69b19178899014d1e72df342477cd3b5">loadConfiguration</a> (const std::string &amp;file)  throw (DmException)</td></tr>
<tr class="separator:a69b19178899014d1e72df342477cd3b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a22ccf6bf6df01af99f53008e789921bc"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdmlite_1_1_plugin_manager.html#a22ccf6bf6df01af99f53008e789921bc">getConfiguration</a> (const std::string &amp;key)  throw (DmException)</td></tr>
<tr class="separator:a22ccf6bf6df01af99f53008e789921bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa375b2ff9af7fa6190a7ec8e21c2e962"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdmlite_1_1_plugin_manager.html#aa375b2ff9af7fa6190a7ec8e21c2e962">registerAuthnFactory</a> (<a class="el" href="classdmlite_1_1_authn_factory.html">AuthnFactory</a> *factory)  throw (DmException)</td></tr>
<tr class="separator:aa375b2ff9af7fa6190a7ec8e21c2e962"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a166846ffad43a965f05e37d0a372d05c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdmlite_1_1_plugin_manager.html#a166846ffad43a965f05e37d0a372d05c">registerINodeFactory</a> (<a class="el" href="classdmlite_1_1_i_node_factory.html">INodeFactory</a> *factory)  throw (DmException)</td></tr>
<tr class="separator:a166846ffad43a965f05e37d0a372d05c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a51f3c406b6c806354f9ec653677b7d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdmlite_1_1_plugin_manager.html#a1a51f3c406b6c806354f9ec653677b7d">registerCatalogFactory</a> (<a class="el" href="classdmlite_1_1_catalog_factory.html">CatalogFactory</a> *factory)  throw (DmException)</td></tr>
<tr class="separator:a1a51f3c406b6c806354f9ec653677b7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acff5851b1a66b7e0f61cdaa9813b2bea"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdmlite_1_1_plugin_manager.html#acff5851b1a66b7e0f61cdaa9813b2bea">registerPoolManagerFactory</a> (<a class="el" href="classdmlite_1_1_pool_manager_factory.html">PoolManagerFactory</a> *factory)  throw (DmException)</td></tr>
<tr class="separator:acff5851b1a66b7e0f61cdaa9813b2bea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50effc63eb56f111b621b9d24e8c3177"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdmlite_1_1_plugin_manager.html#a50effc63eb56f111b621b9d24e8c3177">registerIOFactory</a> (<a class="el" href="classdmlite_1_1_i_o_factory.html">IOFactory</a> *factory)  throw (DmException)</td></tr>
<tr class="separator:a50effc63eb56f111b621b9d24e8c3177"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaaf813965387951d18f2a1b567b13a84"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdmlite_1_1_plugin_manager.html#aaaf813965387951d18f2a1b567b13a84">registerPoolDriverFactory</a> (<a class="el" href="classdmlite_1_1_pool_driver_factory.html">PoolDriverFactory</a> *factory)  throw (DmException)</td></tr>
<tr class="separator:aaaf813965387951d18f2a1b567b13a84"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a272cc9d4f21784415af0f71616cb3794"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdmlite_1_1_plugin_manager.html#a272cc9d4f21784415af0f71616cb3794">registerConfigureFactory</a> (<a class="el" href="classdmlite_1_1_base_factory.html">BaseFactory</a> *factory)  throw (DmException)</td></tr>
<tr class="separator:a272cc9d4f21784415af0f71616cb3794"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5915fc18a0a5836a1ffefab7c0d0c7eb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classdmlite_1_1_authn_factory.html">AuthnFactory</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdmlite_1_1_plugin_manager.html#a5915fc18a0a5836a1ffefab7c0d0c7eb">getAuthnFactory</a> ()  throw (DmException)</td></tr>
<tr class="memdesc:a5915fc18a0a5836a1ffefab7c0d0c7eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the <a class="el" href="classdmlite_1_1_authn_factory.html" title="AuthnFactory.">AuthnFactory</a> implementation on top of the plugin stack.  <a href="#a5915fc18a0a5836a1ffefab7c0d0c7eb">More...</a><br/></td></tr>
<tr class="separator:a5915fc18a0a5836a1ffefab7c0d0c7eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad677f7823979919bd9f49de3f544037c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classdmlite_1_1_i_node_factory.html">INodeFactory</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdmlite_1_1_plugin_manager.html#ad677f7823979919bd9f49de3f544037c">getINodeFactory</a> ()  throw (DmException)</td></tr>
<tr class="separator:ad677f7823979919bd9f49de3f544037c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c22717d5eeb03bfd5b8bb19c9417544"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classdmlite_1_1_catalog_factory.html">CatalogFactory</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdmlite_1_1_plugin_manager.html#a3c22717d5eeb03bfd5b8bb19c9417544">getCatalogFactory</a> ()  throw (DmException)</td></tr>
<tr class="memdesc:a3c22717d5eeb03bfd5b8bb19c9417544"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the <a class="el" href="classdmlite_1_1_catalog_factory.html" title="Plug-ins must implement a concrete factory to be instantiated.">CatalogFactory</a> implementation on top of the plugin stack.  <a href="#a3c22717d5eeb03bfd5b8bb19c9417544">More...</a><br/></td></tr>
<tr class="separator:a3c22717d5eeb03bfd5b8bb19c9417544"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a00701100bc8509419a809afbbb30c8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classdmlite_1_1_pool_manager_factory.html">PoolManagerFactory</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdmlite_1_1_plugin_manager.html#a9a00701100bc8509419a809afbbb30c8">getPoolManagerFactory</a> ()  throw (DmException)</td></tr>
<tr class="memdesc:a9a00701100bc8509419a809afbbb30c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the PoolFactory implementation on top of the plugin stack.  <a href="#a9a00701100bc8509419a809afbbb30c8">More...</a><br/></td></tr>
<tr class="separator:a9a00701100bc8509419a809afbbb30c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a120cf6d923a37b60588cb787a5626c6c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classdmlite_1_1_pool_driver_factory.html">PoolDriverFactory</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdmlite_1_1_plugin_manager.html#a120cf6d923a37b60588cb787a5626c6c">getPoolDriverFactory</a> (const std::string &amp;pooltype)  throw (DmException)</td></tr>
<tr class="memdesc:a120cf6d923a37b60588cb787a5626c6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the appropiate pool driver factory for the pool.  <a href="#a120cf6d923a37b60588cb787a5626c6c">More...</a><br/></td></tr>
<tr class="separator:a120cf6d923a37b60588cb787a5626c6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aede688cc2644467b02ff1c5303e514ca"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classdmlite_1_1_i_o_factory.html">IOFactory</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdmlite_1_1_plugin_manager.html#aede688cc2644467b02ff1c5303e514ca">getIOFactory</a> ()  throw (DmException)</td></tr>
<tr class="memdesc:aede688cc2644467b02ff1c5303e514ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the <a class="el" href="classdmlite_1_1_i_o_factory.html" title="Plug-ins must implement a concrete factory to be instantiated.">IOFactory</a> implementation on top of the plugin stack.  <a href="#aede688cc2644467b02ff1c5303e514ca">More...</a><br/></td></tr>
<tr class="separator:aede688cc2644467b02ff1c5303e514ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr class="memitem:a1efccf1e13f3ff56ff848654429b8bf4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdmlite_1_1_plugin_manager.html#a1efccf1e13f3ff56ff848654429b8bf4">PluginManager</a> (const <a class="el" href="classdmlite_1_1_plugin_manager.html">PluginManager</a> &amp;)</td></tr>
<tr class="memdesc:a1efccf1e13f3ff56ff848654429b8bf4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Can not be copied.  <a href="#a1efccf1e13f3ff56ff848654429b8bf4">More...</a><br/></td></tr>
<tr class="separator:a1efccf1e13f3ff56ff848654429b8bf4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:a6f09fc1458997964b7ad7ba3560ac3c4"><td class="memItemLeft" align="right" valign="top">std::map&lt; std::string, <br class="typebreak"/>
std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdmlite_1_1_plugin_manager.html#a6f09fc1458997964b7ad7ba3560ac3c4">confValues_</a></td></tr>
<tr class="memdesc:a6f09fc1458997964b7ad7ba3560ac3c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configuration key/value.  <a href="#a6f09fc1458997964b7ad7ba3560ac3c4">More...</a><br/></td></tr>
<tr class="separator:a6f09fc1458997964b7ad7ba3560ac3c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8252048d244146d011439b7218eba386"><td class="memItemLeft" align="right" valign="top">std::list&lt; <a class="el" href="classdmlite_1_1_authn_factory.html">AuthnFactory</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdmlite_1_1_plugin_manager.html#a8252048d244146d011439b7218eba386">authn_plugins_</a></td></tr>
<tr class="memdesc:a8252048d244146d011439b7218eba386"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal list of loaded plug-ins.  <a href="#a8252048d244146d011439b7218eba386">More...</a><br/></td></tr>
<tr class="separator:a8252048d244146d011439b7218eba386"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a78bea925cfe99d009a2ffe059c6ac484"><td class="memItemLeft" align="right" valign="top">std::list&lt; <a class="el" href="classdmlite_1_1_i_node_factory.html">INodeFactory</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdmlite_1_1_plugin_manager.html#a78bea925cfe99d009a2ffe059c6ac484">inode_plugins_</a></td></tr>
<tr class="separator:a78bea925cfe99d009a2ffe059c6ac484"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab566770f610d896eb5fda67465ccee73"><td class="memItemLeft" align="right" valign="top">std::list&lt; <a class="el" href="classdmlite_1_1_catalog_factory.html">CatalogFactory</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdmlite_1_1_plugin_manager.html#ab566770f610d896eb5fda67465ccee73">catalog_plugins_</a></td></tr>
<tr class="separator:ab566770f610d896eb5fda67465ccee73"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a621cf7449df6ab69f95b85b1bddd9815"><td class="memItemLeft" align="right" valign="top">std::list&lt; <a class="el" href="classdmlite_1_1_pool_manager_factory.html">PoolManagerFactory</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdmlite_1_1_plugin_manager.html#a621cf7449df6ab69f95b85b1bddd9815">pool_plugins_</a></td></tr>
<tr class="separator:a621cf7449df6ab69f95b85b1bddd9815"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad30ebf20b2c6f69fe43423e181dd84b"><td class="memItemLeft" align="right" valign="top">std::list&lt; <a class="el" href="classdmlite_1_1_i_o_factory.html">IOFactory</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdmlite_1_1_plugin_manager.html#aad30ebf20b2c6f69fe43423e181dd84b">io_plugins_</a></td></tr>
<tr class="separator:aad30ebf20b2c6f69fe43423e181dd84b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a97f6f0e02b7cf09adce271a143ae5047"><td class="memItemLeft" align="right" valign="top">std::list&lt; <a class="el" href="classdmlite_1_1_pool_driver_factory.html">PoolDriverFactory</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdmlite_1_1_plugin_manager.html#a97f6f0e02b7cf09adce271a143ae5047">pool_driver_plugins_</a></td></tr>
<tr class="separator:a97f6f0e02b7cf09adce271a143ae5047"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa02f8eab49bdd02516f98639dcb47f86"><td class="memItemLeft" align="right" valign="top">std::list&lt; <a class="el" href="classdmlite_1_1_base_factory.html">BaseFactory</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdmlite_1_1_plugin_manager.html#aa02f8eab49bdd02516f98639dcb47f86">configure_factory_</a></td></tr>
<tr class="separator:aa02f8eab49bdd02516f98639dcb47f86"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a66cf4db2bf90bb52bd18c36337b15f"><td class="memItemLeft" align="right" valign="top">std::list&lt; void * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdmlite_1_1_plugin_manager.html#a3a66cf4db2bf90bb52bd18c36337b15f">dlHandles_</a></td></tr>
<tr class="memdesc:a3a66cf4db2bf90bb52bd18c36337b15f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Keep pointers returned by dlopen at hand to free on destruction.  <a href="#a3a66cf4db2bf90bb52bd18c36337b15f">More...</a><br/></td></tr>
<tr class="separator:a3a66cf4db2bf90bb52bd18c36337b15f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>CatalogInterface can only be instantiated through this class. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="aa169b783c1fe53e8251798ba82cf0e8d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">dmlite::PluginManager::PluginManager </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td>  throw ()</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor. </p>

</div>
</div>
<a class="anchor" id="a2ca90f74728fd04c21718afe44b404eb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">dmlite::PluginManager::~PluginManager </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Destructor. </p>

</div>
</div>
<a class="anchor" id="a1efccf1e13f3ff56ff848654429b8bf4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">dmlite::PluginManager::PluginManager </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdmlite_1_1_plugin_manager.html">PluginManager</a> &amp;&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Can not be copied. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a102ea75de05f1054fa774507d238dc40"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dmlite::PluginManager::configure </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>  throw (<a class="el" href="classdmlite_1_1_dm_exception.html">DmException</a>)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set a configuration parameter. It will be passed to the loaded plugins. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">key</td><td>The configuration parameter. </td></tr>
    <tr><td class="paramname">value</td><td>The value for the configuration parameter. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a5915fc18a0a5836a1ffefab7c0d0c7eb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdmlite_1_1_authn_factory.html">AuthnFactory</a>* dmlite::PluginManager::getAuthnFactory </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td>  throw (<a class="el" href="classdmlite_1_1_dm_exception.html">DmException</a>)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the <a class="el" href="classdmlite_1_1_authn_factory.html" title="AuthnFactory.">AuthnFactory</a> implementation on top of the plugin stack. </p>

</div>
</div>
<a class="anchor" id="a3c22717d5eeb03bfd5b8bb19c9417544"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdmlite_1_1_catalog_factory.html">CatalogFactory</a>* dmlite::PluginManager::getCatalogFactory </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td>  throw (<a class="el" href="classdmlite_1_1_dm_exception.html">DmException</a>)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the <a class="el" href="classdmlite_1_1_catalog_factory.html" title="Plug-ins must implement a concrete factory to be instantiated.">CatalogFactory</a> implementation on top of the plugin stack. </p>

</div>
</div>
<a class="anchor" id="a22ccf6bf6df01af99f53008e789921bc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string dmlite::PluginManager::getConfiguration </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>key</em></td><td>)</td>
          <td>  throw (<a class="el" href="classdmlite_1_1_dm_exception.html">DmException</a>)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Return an entry from the loaded configuration. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">key</td><td>The configuration parameter. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ad677f7823979919bd9f49de3f544037c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdmlite_1_1_i_node_factory.html">INodeFactory</a>* dmlite::PluginManager::getINodeFactory </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td>  throw (<a class="el" href="classdmlite_1_1_dm_exception.html">DmException</a>)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="aede688cc2644467b02ff1c5303e514ca"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdmlite_1_1_i_o_factory.html">IOFactory</a>* dmlite::PluginManager::getIOFactory </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td>  throw (<a class="el" href="classdmlite_1_1_dm_exception.html">DmException</a>)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the <a class="el" href="classdmlite_1_1_i_o_factory.html" title="Plug-ins must implement a concrete factory to be instantiated.">IOFactory</a> implementation on top of the plugin stack. </p>

</div>
</div>
<a class="anchor" id="a120cf6d923a37b60588cb787a5626c6c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdmlite_1_1_pool_driver_factory.html">PoolDriverFactory</a>* dmlite::PluginManager::getPoolDriverFactory </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>pooltype</em></td><td>)</td>
          <td>  throw (<a class="el" href="classdmlite_1_1_dm_exception.html">DmException</a>)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the appropiate pool driver factory for the pool. </p>

</div>
</div>
<a class="anchor" id="a9a00701100bc8509419a809afbbb30c8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdmlite_1_1_pool_manager_factory.html">PoolManagerFactory</a>* dmlite::PluginManager::getPoolManagerFactory </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td>  throw (<a class="el" href="classdmlite_1_1_dm_exception.html">DmException</a>)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the PoolFactory implementation on top of the plugin stack. </p>

</div>
</div>
<a class="anchor" id="a69b19178899014d1e72df342477cd3b5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dmlite::PluginManager::loadConfiguration </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>file</em></td><td>)</td>
          <td>  throw (<a class="el" href="classdmlite_1_1_dm_exception.html">DmException</a>)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Load a configuration file, with plugins and parameters. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">file</td><td>The configuration file. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a6750bef0f502150f55ae2ce48b54ec6a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dmlite::PluginManager::loadPlugin </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>lib</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>id</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>  throw (<a class="el" href="classdmlite_1_1_dm_exception.html">DmException</a>)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Load a plugin. Previously instantiated interfaces won't be affected. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">lib</td><td>The .so file. Usually, (path)/plugin_name.so. </td></tr>
    <tr><td class="paramname">id</td><td>The plugin ID. Usually, plugin_name. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aa375b2ff9af7fa6190a7ec8e21c2e962"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dmlite::PluginManager::registerAuthnFactory </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classdmlite_1_1_authn_factory.html">AuthnFactory</a> *&#160;</td>
          <td class="paramname"><em>factory</em></td><td>)</td>
          <td>  throw (<a class="el" href="classdmlite_1_1_dm_exception.html">DmException</a>)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Register a <a class="el" href="classdmlite_1_1_authn.html">Authn</a> factory. To be used by concrete implementations </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">factory</td><td>The UserDbGroup concrete factory. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>The same object can be passed to other register functions. DMLite will take care of freeing it only once. </dd></dl>

</div>
</div>
<a class="anchor" id="a1a51f3c406b6c806354f9ec653677b7d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dmlite::PluginManager::registerCatalogFactory </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classdmlite_1_1_catalog_factory.html">CatalogFactory</a> *&#160;</td>
          <td class="paramname"><em>factory</em></td><td>)</td>
          <td>  throw (<a class="el" href="classdmlite_1_1_dm_exception.html">DmException</a>)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Register a catalog factory. To be used by concrete implementations (i.e. Plugins) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">factory</td><td>The catalog concrete factory. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>The same object can be passed to other register functions. DMLite will take care of freeing it only once. </dd></dl>

</div>
</div>
<a class="anchor" id="a272cc9d4f21784415af0f71616cb3794"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dmlite::PluginManager::registerConfigureFactory </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classdmlite_1_1_base_factory.html">BaseFactory</a> *&#160;</td>
          <td class="paramname"><em>factory</em></td><td>)</td>
          <td>  throw (<a class="el" href="classdmlite_1_1_dm_exception.html">DmException</a>)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Register a bare <a class="el" href="classdmlite_1_1_base_factory.html" title="Base class for factories.">BaseFactory</a>. Only the configure method will be called. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">factory</td><td>The <a class="el" href="classdmlite_1_1_base_factory.html" title="Base class for factories.">BaseFactory</a>. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>The same object can be passed to other register functions. DMLite will take care of freeing it only once. </dd></dl>

</div>
</div>
<a class="anchor" id="a166846ffad43a965f05e37d0a372d05c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dmlite::PluginManager::registerINodeFactory </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classdmlite_1_1_i_node_factory.html">INodeFactory</a> *&#160;</td>
          <td class="paramname"><em>factory</em></td><td>)</td>
          <td>  throw (<a class="el" href="classdmlite_1_1_dm_exception.html">DmException</a>)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Register a <a class="el" href="classdmlite_1_1_i_node.html">INode</a> factory. To be used by concrete implementations (i.e. Plugins) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">factory</td><td>The <a class="el" href="classdmlite_1_1_i_node.html">INode</a> concrete factory. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>The same object can be passed to other register functions. DMLite will take care of freeing it only once. </dd></dl>

</div>
</div>
<a class="anchor" id="a50effc63eb56f111b621b9d24e8c3177"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dmlite::PluginManager::registerIOFactory </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classdmlite_1_1_i_o_factory.html">IOFactory</a> *&#160;</td>
          <td class="paramname"><em>factory</em></td><td>)</td>
          <td>  throw (<a class="el" href="classdmlite_1_1_dm_exception.html">DmException</a>)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Register a IO factory. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">factory</td><td>The IO concrete factory. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>The same object can be passed to other register functions. DMLite will take care of freeing it only once. </dd></dl>

</div>
</div>
<a class="anchor" id="aaaf813965387951d18f2a1b567b13a84"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dmlite::PluginManager::registerPoolDriverFactory </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classdmlite_1_1_pool_driver_factory.html">PoolDriverFactory</a> *&#160;</td>
          <td class="paramname"><em>factory</em></td><td>)</td>
          <td>  throw (<a class="el" href="classdmlite_1_1_dm_exception.html">DmException</a>)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Register a <a class="el" href="classdmlite_1_1_pool_driver.html" title="Interface for a pool driver.">PoolDriver</a> factory. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">factory</td><td>The <a class="el" href="classdmlite_1_1_pool_driver.html" title="Interface for a pool driver.">PoolDriver</a> factory. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>The same object can be passed to other register functions. DMLite will take care of freeing it only once. </dd></dl>

</div>
</div>
<a class="anchor" id="acff5851b1a66b7e0f61cdaa9813b2bea"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dmlite::PluginManager::registerPoolManagerFactory </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classdmlite_1_1_pool_manager_factory.html">PoolManagerFactory</a> *&#160;</td>
          <td class="paramname"><em>factory</em></td><td>)</td>
          <td>  throw (<a class="el" href="classdmlite_1_1_dm_exception.html">DmException</a>)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Register a pool factory. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">factory</td><td>The pool concrete factory. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>The same object can be passed to other register functions. DMLite will take care of freeing it only once. </dd></dl>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a8252048d244146d011439b7218eba386"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::list&lt;<a class="el" href="classdmlite_1_1_authn_factory.html">AuthnFactory</a>*&gt; dmlite::PluginManager::authn_plugins_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Internal list of loaded plug-ins. </p>

</div>
</div>
<a class="anchor" id="ab566770f610d896eb5fda67465ccee73"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::list&lt;<a class="el" href="classdmlite_1_1_catalog_factory.html">CatalogFactory</a>*&gt; dmlite::PluginManager::catalog_plugins_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="aa02f8eab49bdd02516f98639dcb47f86"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::list&lt;<a class="el" href="classdmlite_1_1_base_factory.html">BaseFactory</a>*&gt; dmlite::PluginManager::configure_factory_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a6f09fc1458997964b7ad7ba3560ac3c4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::map&lt;std::string, std::string&gt; dmlite::PluginManager::confValues_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Configuration key/value. </p>

</div>
</div>
<a class="anchor" id="a3a66cf4db2bf90bb52bd18c36337b15f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::list&lt;void*&gt; dmlite::PluginManager::dlHandles_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Keep pointers returned by dlopen at hand to free on destruction. </p>

</div>
</div>
<a class="anchor" id="a78bea925cfe99d009a2ffe059c6ac484"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::list&lt;<a class="el" href="classdmlite_1_1_i_node_factory.html">INodeFactory</a>*&gt; dmlite::PluginManager::inode_plugins_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="aad30ebf20b2c6f69fe43423e181dd84b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::list&lt;<a class="el" href="classdmlite_1_1_i_o_factory.html">IOFactory</a>*&gt; dmlite::PluginManager::io_plugins_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a97f6f0e02b7cf09adce271a143ae5047"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::list&lt;<a class="el" href="classdmlite_1_1_pool_driver_factory.html">PoolDriverFactory</a>*&gt; dmlite::PluginManager::pool_driver_plugins_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a621cf7449df6ab69f95b85b1bddd9815"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::list&lt;<a class="el" href="classdmlite_1_1_pool_manager_factory.html">PoolManagerFactory</a>*&gt; dmlite::PluginManager::pool_plugins_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/dmlite/cpp/<a class="el" href="p_2dmlite_8h_source.html">dmlite.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Fri Jul 12 2013 07:34:22 for dmlite by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.3.1
</small></address>
</body>
</html>