<html> <head> <title>Ogre::DynLibManager class Reference - OGRE Documentation</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link type="text/css" rel="stylesheet" href="style.css"> </head> <body> <!-- Generated by Doxygen 1.3.6 --> <div class="qindex"><a class="qindex" href="index.html">Main Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Class List</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="namespacemembers.html">Namespace Members</a> | <a class="qindex" href="functions.html">Class Members</a> | <a class="qindex" href="globals.html">File Members</a> | <a class="qindex" href="pages.html">Related Pages</a></div> <h1>Ogre::DynLibManager Class Reference</h1>Manager for Dynamic-loading Libraries. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="OgreDynLibManager_8h-source.html">OgreDynLibManager.h</a>></code> <p> Inheritance diagram for Ogre::DynLibManager:<p><center><img src="classOgre_1_1DynLibManager__inherit__graph.png" border="0" usemap="#Ogre_1_1DynLibManager__inherit__map" alt="Inheritance graph"></center> <map name="Ogre_1_1DynLibManager__inherit__map"> <area href="classOgre_1_1Singleton.html" shape="rect" coords="7,17,223,36" alt=""> </map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="classOgre_1_1DynLibManager-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 Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1DynLibManager.html#Ogre_1_1DynLibManagera0">DynLibManager</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Default constructor. <a href="#Ogre_1_1DynLibManagera0"></a><br><br></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top>virtual </td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1DynLibManager.html#Ogre_1_1DynLibManagera1">~DynLibManager</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Default destructor. <a href="#Ogre_1_1DynLibManagera1"></a><br><br></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1DynLib.html">DynLib</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1DynLibManager.html#Ogre_1_1DynLibManagera2">load</a> (const <a class="el" href="namespaceOgre.html#a426">String</a> &filename)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Loads the passed library. <a href="#Ogre_1_1DynLibManagera2"></a><br><br></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1DynLibManager.html#Ogre_1_1DynLibManagera3">unload</a> (<a class="el" href="classOgre_1_1DynLib.html">DynLib</a> *lib)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Unloads the passed library. <a href="#Ogre_1_1DynLibManagera3"></a><br><br></td></tr> <tr><td colspan=2><br><h2>Static Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1DynLibManager.html">DynLibManager</a> & </td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1DynLibManager.html#Ogre_1_1DynLibManagere0">getSingleton</a> (void)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Override standard <a class="el" href="classOgre_1_1Singleton.html">Singleton</a> retrieval. <a href="#Ogre_1_1DynLibManagere0"></a><br><br></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1DynLibManager.html">DynLibManager</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1DynLibManager.html#Ogre_1_1DynLibManagere1">getSingletonPtr</a> (void)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Override standard <a class="el" href="classOgre_1_1Singleton.html">Singleton</a> retrieval. <a href="#Ogre_1_1DynLibManagere1"></a><br><br></td></tr> <tr><td colspan=2><br><h2>Protected Types</h2></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top>typedef std::map< <a class="el" href="namespaceOgre.html#a426">String</a>,<br> <a class="el" href="classOgre_1_1DynLib.html">DynLib</a> * > </td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1DynLibManager.html#Ogre_1_1DynLibManagerx0">DynLibList</a></td></tr> <tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1DynLibManager.html#Ogre_1_1DynLibManagerx0">DynLibList</a> </td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1DynLibManager.html#Ogre_1_1DynLibManagerp0">mLibList</a></td></tr> <tr><td colspan=2><br><h2>Static Protected Attributes</h2></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1DynLibManager.html">DynLibManager</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Singleton.html#Ogre_1_1Singletont0">ms_Singleton</a></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> Manager for Dynamic-loading Libraries. <p> <dl compact><dt><b>Remarks:</b></dt><dd>This manager keeps a track of all the open dynamic-loading libraries, opens them and returns references to already-open libraries. </dd></dl> <p> <p> Definition at line <a class="el" href="OgreDynLibManager_8h-source.html#l00038">38</a> of file <a class="el" href="OgreDynLibManager_8h-source.html">OgreDynLibManager.h</a>.<hr><h2>Member Typedef Documentation</h2> <a class="anchor" name="Ogre_1_1DynLibManagerx0" doxytag="Ogre::DynLibManager::DynLibList" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> typedef std::map<<a class="el" href="namespaceOgre.html#a426">String</a>, <a class="el" href="classOgre_1_1DynLib.html">DynLib</a>*> <a class="el" href="classOgre_1_1DynLibManager.html#Ogre_1_1DynLibManagerx0">Ogre::DynLibManager::DynLibList</a><code> [protected]</code> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <p> Definition at line <a class="el" href="OgreDynLibManager_8h-source.html#l00041">41</a> of file <a class="el" href="OgreDynLibManager_8h-source.html">OgreDynLibManager.h</a>. </td> </tr> </table> <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="Ogre_1_1DynLibManagera0" doxytag="Ogre::DynLibManager::DynLibManager" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> Ogre::DynLibManager::DynLibManager </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Default constructor. <p> <dl compact><dt><b>Note:</b></dt><dd><br> Should never be called as the singleton is automatically created during the creation of the <a class="el" href="classOgre_1_1Root.html">Root</a> object. </dd></dl> <dl compact><dt><b>See also:</b></dt><dd><a class="el" href="classOgre_1_1Root.html#Ogre_1_1Roota0">Root::Root</a> </dd></dl> </td> </tr> </table> <a class="anchor" name="Ogre_1_1DynLibManagera1" doxytag="Ogre::DynLibManager::~DynLibManager" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> virtual Ogre::DynLibManager::~<a class="el" href="classOgre_1_1DynLibManager.html">DynLibManager</a> </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap><code> [virtual]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Default destructor. <p> <dl compact><dt><b>See also:</b></dt><dd><a class="el" href="classOgre_1_1Root.html#Ogre_1_1Roota1">Root::~Root</a> </dd></dl> </td> </tr> </table> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="Ogre_1_1DynLibManagere0" doxytag="Ogre::DynLibManager::getSingleton" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1DynLibManager.html">DynLibManager</a>& Ogre::DynLibManager::getSingleton </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">void </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap><code> [static]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Override standard <a class="el" href="classOgre_1_1Singleton.html">Singleton</a> retrieval. <p> <dl compact><dt><b>Remarks:</b></dt><dd>Why do we do this? Well, it's because the <a class="el" href="classOgre_1_1Singleton.html">Singleton</a> implementation is in a .h file, which means it gets compiled into anybody who includes it. This is needed for the <a class="el" href="classOgre_1_1Singleton.html">Singleton</a> template to work, but we actually only want it compiled into the implementation of the class based on the <a class="el" href="classOgre_1_1Singleton.html">Singleton</a>, not all of them. If we don't change this, we get link errors when trying to use the Singleton-based class from an outside dll. </dd></dl> <dl compact><dt><b></b></dt><dd>This method just delegates to the template version anyway, but the implementation stays in this single compilation unit, preventing link errors. </dd></dl> <p> Reimplemented from <a class="el" href="classOgre_1_1Singleton.html#Ogre_1_1Singletone0">Ogre::Singleton< DynLibManager ></a>. </td> </tr> </table> <a class="anchor" name="Ogre_1_1DynLibManagere1" doxytag="Ogre::DynLibManager::getSingletonPtr" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1DynLibManager.html">DynLibManager</a>* Ogre::DynLibManager::getSingletonPtr </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">void </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap><code> [static]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Override standard <a class="el" href="classOgre_1_1Singleton.html">Singleton</a> retrieval. <p> <dl compact><dt><b>Remarks:</b></dt><dd>Why do we do this? Well, it's because the <a class="el" href="classOgre_1_1Singleton.html">Singleton</a> implementation is in a .h file, which means it gets compiled into anybody who includes it. This is needed for the <a class="el" href="classOgre_1_1Singleton.html">Singleton</a> template to work, but we actually only want it compiled into the implementation of the class based on the <a class="el" href="classOgre_1_1Singleton.html">Singleton</a>, not all of them. If we don't change this, we get link errors when trying to use the Singleton-based class from an outside dll. </dd></dl> <dl compact><dt><b></b></dt><dd>This method just delegates to the template version anyway, but the implementation stays in this single compilation unit, preventing link errors. </dd></dl> <p> Reimplemented from <a class="el" href="classOgre_1_1Singleton.html#Ogre_1_1Singletone1">Ogre::Singleton< DynLibManager ></a>. </td> </tr> </table> <a class="anchor" name="Ogre_1_1DynLibManagera2" doxytag="Ogre::DynLibManager::load" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1DynLib.html">DynLib</a>* Ogre::DynLibManager::load </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">const <a class="el" href="namespaceOgre.html#a426">String</a> & </td> <td class="mdname1" valign="top" nowrap> <em>filename</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Loads the passed library. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign=top><em>filename</em> </td><td>The name of the library. The extension can be ommitted </td></tr> </table> </dl> </td> </tr> </table> <a class="anchor" name="Ogre_1_1DynLibManagera3" doxytag="Ogre::DynLibManager::unload" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void Ogre::DynLibManager::unload </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="classOgre_1_1DynLib.html">DynLib</a> * </td> <td class="mdname1" valign="top" nowrap> <em>lib</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Unloads the passed library. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign=top><em>filename</em> </td><td>The name of the library. The extension can be ommitted</td></tr> </table> </dl> </td> </tr> </table> <hr><h2>Member Data Documentation</h2> <a class="anchor" name="Ogre_1_1DynLibManagerp0" doxytag="Ogre::DynLibManager::mLibList" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1DynLibManager.html#Ogre_1_1DynLibManagerx0">DynLibList</a> <a class="el" href="classOgre_1_1DynLibManager.html#Ogre_1_1DynLibManagerp0">Ogre::DynLibManager::mLibList</a><code> [protected]</code> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <p> Definition at line <a class="el" href="OgreDynLibManager_8h-source.html#l00042">42</a> of file <a class="el" href="OgreDynLibManager_8h-source.html">OgreDynLibManager.h</a>. </td> </tr> </table> <a class="anchor" name="Ogre_1_1Singletont0" doxytag="Ogre::DynLibManager::ms_Singleton" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1DynLibManager.html">DynLibManager</a> * <a class="el" href="classOgre_1_1Singleton.html">Ogre::Singleton</a>< <a class="el" href="classOgre_1_1DynLibManager.html">DynLibManager</a> >::<a class="el" href="classOgre_1_1Singleton.html#Ogre_1_1Singletont0">ms_Singleton</a><code> [static, protected, inherited]</code> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <p> Definition at line <a class="el" href="OgreSingleton_8h-source.html#l00054">54</a> of file <a class="el" href="OgreSingleton_8h-source.html">OgreSingleton.h</a>. </td> </tr> </table> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="OgreDynLibManager_8h-source.html">OgreDynLibManager.h</a></ul> <p> Copyright © 2000-2005 by The OGRE Team<br /> Last modified Wed Feb 23 00:19:50 2005 </p> </body> </html>