GED 2006 (C++)
File detail
Source code
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>GED 2006: PluginList 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.2 -->
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="classes.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="classes.html"><span>Alphabetical List</span></a></li>
<li><a href="annotated.html"><span>Class List</span></a></li>
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class Members</span></a></li>
</ul>
</div>
<h1>PluginList Class Reference</h1><!-- doxytag: class="PluginList" --><code>#include <<a class="el" href="pluginsupport_8h-source.html">pluginsupport.h</a>></code>
<p>
<a href="classPluginList-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="classPluginList.html#db4a4ebeffefcad656c5d3631169f060">~PluginList</a> ()</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPluginList.html#ceed99aa0736b3bff74e7c49b34279fe">pluginDirLookup</a> (const char *szDirectory)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPluginList.html#5a574cae86efd0b0068424b1a893664b">callByName</a> (<a class="el" href="classFrameBuffer.html">FrameBuffer</a> &fb, std::string pluginName, std::string args)</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 <a class="el" href="classPluginList.html">PluginList</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classPluginList.html#de90b20425ab0a7c1e16f8a48661982d">ptr</a> ()</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPluginList.html#66232652f8718b08f5888d4128310ff9">destroy</a> ()</td></tr>
<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPluginList.html#fdd19563304e731322d8fe7c8ffe7ff4">PluginList</a> ()</td></tr>
<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classPluginList.html#91626c4b9cd9382a52c245d3fd9bcfb0">DocMenu</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Needed for plugin names reading. <a href="#91626c4b9cd9382a52c245d3fd9bcfb0"></a><br></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="structPluginList_1_1ErrPluginDir.html">ErrPluginDir</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structPluginList_1_1ErrPluginEC.html">ErrPluginEC</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structPluginList_1_1ErrPluginNotFound.html">ErrPluginNotFound</a></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Plugin list. Design pattern singleton.
<p>
<p>
Definition at line <a class="el" href="pluginsupport_8h-source.html#l00020">20</a> of file <a class="el" href="pluginsupport_8h-source.html">pluginsupport.h</a>.<hr><h2>Constructor & Destructor Documentation</h2>
<a class="anchor" name="db4a4ebeffefcad656c5d3631169f060"></a><!-- doxytag: member="PluginList::~PluginList" ref="db4a4ebeffefcad656c5d3631169f060" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">PluginList::~PluginList </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
</div>
</div><p>
<a class="anchor" name="fdd19563304e731322d8fe7c8ffe7ff4"></a><!-- doxytag: member="PluginList::PluginList" ref="fdd19563304e731322d8fe7c8ffe7ff4" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">PluginList::PluginList </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"><code> [inline, protected]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Singleton <a class="el" href="classPluginList.html">PluginList</a> can't be allocated static. Use <a class="el" href="classPluginList.html#de90b20425ab0a7c1e16f8a48661982d">PluginList::ptr()</a> method to obtain singleton address.
<p>
Definition at line <a class="el" href="pluginsupport_8h-source.html#l00082">82</a> of file <a class="el" href="pluginsupport_8h-source.html">pluginsupport.h</a>.
</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="de90b20425ab0a7c1e16f8a48661982d"></a><!-- doxytag: member="PluginList::ptr" ref="de90b20425ab0a7c1e16f8a48661982d" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="classPluginList.html">PluginList</a>* PluginList::ptr </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Access point to singleton. <dl class="return" compact><dt><b>Returns:</b></dt><dd>Return pointer to singleton object. </dd></dl>
</div>
</div><p>
<a class="anchor" name="66232652f8718b08f5888d4128310ff9"></a><!-- doxytag: member="PluginList::destroy" ref="66232652f8718b08f5888d4128310ff9" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static void PluginList::destroy </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Destroy plugin list singleton. This should be called on program exit.
</div>
</div><p>
<a class="anchor" name="ceed99aa0736b3bff74e7c49b34279fe"></a><!-- doxytag: member="PluginList::pluginDirLookup" ref="ceed99aa0736b3bff74e7c49b34279fe" args="(const char *szDirectory)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void PluginList::pluginDirLookup </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"> <em>szDirectory</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Lookup for plugins. Can be called repeatly to add plugins from different directories. This method throws <a class="el" href="structPluginList_1_1ErrPluginDir.html">PluginList::ErrPluginDir</a> exception if directory can't be opened. <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>szDirectory</em> </td><td>Directory to lookup for plugins. </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="5a574cae86efd0b0068424b1a893664b"></a><!-- doxytag: member="PluginList::callByName" ref="5a574cae86efd0b0068424b1a893664b" args="(FrameBuffer &fb, std::string pluginName, std::string args)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void PluginList::callByName </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classFrameBuffer.html">FrameBuffer</a> & </td>
<td class="paramname"> <em>fb</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::string </td>
<td class="paramname"> <em>pluginName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::string </td>
<td class="paramname"> <em>args</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Call plugin. This method throws <a class="el" href="structPluginList_1_1ErrPluginNotFound.html">PluginList::ErrPluginNotFound</a> exception if pluginName is not valid. It can also throw <a class="el" href="structPluginList_1_1ErrPluginEC.html">PluginList::ErrPluginEC</a> exception if plugin exits with an error. <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>fb</em> </td><td>Frame buffer to work with. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>pluginName</em> </td><td>Name (identification) of plugin. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>args</em> </td><td>Argumets passed to plugin. </td></tr>
</table>
</dl>
</div>
</div><p>
<hr><h2>Friends And Related Function Documentation</h2>
<a class="anchor" name="91626c4b9cd9382a52c245d3fd9bcfb0"></a><!-- doxytag: member="PluginList::DocMenu" ref="91626c4b9cd9382a52c245d3fd9bcfb0" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">friend class <a class="el" href="classDocMenu.html">DocMenu</a><code> [friend]</code> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Needed for plugin names reading.
<p>
<p>
Definition at line <a class="el" href="pluginsupport_8h-source.html#l00076">76</a> of file <a class="el" href="pluginsupport_8h-source.html">pluginsupport.h</a>.
</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="pluginsupport_8h-source.html">pluginsupport.h</a></ul>
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Aug 29 00:01:04 2007 for GED 2006 by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.2 </small></address>
</body>
</html>