<!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>Crystal Space 1.2.1: iutil/plugin.h File Reference (Crystal Space 1.2.1 Public API Reference)</title> <link href="tabs.css" rel="stylesheet" type="text/css"> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <table border="0" cellpadding="0" cellspacing="0" width="100%" class="head"> <tr height="59"> <td class="head" width="202" valign="bottom" style="padding-left:0;"><a href="http://www.crystalspace3d.org/"><img src="csblur.png" width="236" height="59" alt="CrystalSpace" border="0"></a></td> <td class="head"><h2>Public API Reference</h2></td> </tr> <tr height="11"> <td colspan="2" class="headshadow" valign="top" style="padding-left:0;"><img src="csblurb.png" width="236" height="11" alt="" border="0"></td> </tr> </table> <div class="content"> <!-- Generated by Doxygen 1.5.3 --> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li><a href="classes.html"><span>Classes</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> </ul> </div> <h1>iutil/plugin.h File Reference</h1>Plugin manager interface. <a href="#_details">More...</a> <p> <code>#include "<a class="el" href="scf_8h-source.html">csutil/scf.h</a>"</code><br> <code>#include "<a class="el" href="iutil_2objreg_8h-source.html">iutil/objreg.h</a>"</code><br> <code>#include "<a class="el" href="reporter_8h-source.html">ivaria/reporter.h</a>"</code><br> <p> <a href="plugin_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Classes</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structiPluginIterator.html">iPluginIterator</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">An iterator to iterate over all plugins in the plugin manager. <a href="structiPluginIterator.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structiPluginManager.html">iPluginManager</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This is the plugin manager. <a href="structiPluginManager.html#_details">More...</a><br></td></tr> <tr><td colspan="2"><br><h2>Defines</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__scf.html#gcdb1b8ee47910e5b7ea462c354d4ac98">CS_LOAD_PLUGIN</a>(Object, ClassID, Interface) csLoadPlugin<Interface> (Object, ClassID)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__scf.html#g1de42472494732840be02de385f7999a">CS_LOAD_PLUGIN_ALWAYS</a>(Object, ClassID) csLoadPluginAlways (Object, ClassID)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__scf.html#g453f1f8878aafb523944c206beb05873">CS_QUERY_PLUGIN_CLASS</a>(Object, ClassID, Interface) csQueryPluginClass<Interface> (Object, ClassID)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Compatbility macro. <a href="group__scf.html#g453f1f8878aafb523944c206beb05873"></a><br></td></tr> <tr><td colspan="2"><br><h2>Functions</h2></td></tr> <tr><td class="memTemplParams" nowrap colspan="2">template<class Interface> </td></tr> <tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsPtr.html">csPtr</a>< Interface > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__scf.html#gf4a34e36cd27e680cfcf002cca9729c7">csLoadPlugin</a> (<a class="el" href="structiObjectRegistry.html">iObjectRegistry</a> *object_reg, const char *ClassID)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Tell plugin manager to load a plugin. <a href="group__scf.html#gf4a34e36cd27e680cfcf002cca9729c7"></a><br></td></tr> <tr><td class="memTemplParams" nowrap colspan="2">template<class Interface> </td></tr> <tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsPtr.html">csPtr</a>< Interface > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__scf.html#gb779ffb37d64ca82d74d416d188d0707">csLoadPlugin</a> (<a class="el" href="structiPluginManager.html">iPluginManager</a> *mgr, const char *ClassID)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Tell plugin manager to load a plugin. <a href="group__scf.html#gb779ffb37d64ca82d74d416d188d0707"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsPtr.html">csPtr</a>< <a class="el" href="structiBase.html">iBase</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="group__scf.html#g080cc89b6f142d13e81bd3b1e5da3cae">csLoadPluginAlways</a> (<a class="el" href="structiPluginManager.html">iPluginManager</a> *mgr, const char *ClassID)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Same as <a class="el" href="group__scf.html#gb779ffb37d64ca82d74d416d188d0707" title="Tell plugin manager to load a plugin.">csLoadPlugin()</a> but does not bother asking for a interface. <a href="group__scf.html#g080cc89b6f142d13e81bd3b1e5da3cae"></a><br></td></tr> <tr><td class="memTemplParams" nowrap colspan="2">template<class Interface> </td></tr> <tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsPtr.html">csPtr</a>< Interface > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__scf.html#g94cc7866d797878559c05cabf702e3fb">csLoadPluginCheck</a> (<a class="el" href="structiObjectRegistry.html">iObjectRegistry</a> *object_reg, const char *ClassID, bool report=true)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Tell plugin manager to load a plugin but first check if the plugin is not already loaded. <a href="group__scf.html#g94cc7866d797878559c05cabf702e3fb"></a><br></td></tr> <tr><td class="memTemplParams" nowrap colspan="2">template<class Interface> </td></tr> <tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsPtr.html">csPtr</a>< Interface > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__scf.html#g44411dc666c117c9eb38e7c43140a3a0">csLoadPluginCheck</a> (<a class="el" href="structiPluginManager.html">iPluginManager</a> *mgr, const char *ClassID)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Tell plugin manager to load a plugin but first check if the plugin is not already loaded. <a href="group__scf.html#g44411dc666c117c9eb38e7c43140a3a0"></a><br></td></tr> <tr><td class="memTemplParams" nowrap colspan="2">template<class Interface> </td></tr> <tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsPtr.html">csPtr</a>< Interface > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__scf.html#g4c6e52d0906212c2ca5b49fb507afb05">csQueryPluginClass</a> (<a class="el" href="structiPluginManager.html">iPluginManager</a> *mgr, const char *ClassID)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Find a plugin by its class ID. <a href="group__scf.html#g4c6e52d0906212c2ca5b49fb507afb05"></a><br></td></tr> <tr><td class="memTemplParams" nowrap colspan="2">template<class Interface> </td></tr> <tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsPtr.html">csPtr</a>< Interface > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__scf.html#g4c52fd4507c44be72dcff8fa1ec8d307">csQueryRegistryOrLoad</a> (<a class="el" href="structiObjectRegistry.html">iObjectRegistry</a> *Reg, const char *classID, bool report=true)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Use this macro to query the object registry, loading a plugin if needed. <a href="group__scf.html#g4c52fd4507c44be72dcff8fa1ec8d307"></a><br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> Plugin manager interface. <p> <p>Definition in file <a class="el" href="plugin_8h-source.html">plugin.h</a>.</p> <hr size="1"><address><small>Generated for Crystal Space 1.2.1 by <a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.3 </small></address> </div></body> </html>