Click here to Skip to main content
15,893,381 members
Articles / Desktop Programming / MFC

Multi platform plug-in development made easy!

Rate me:
Please Sign up or sign in to vote.
4.04/5 (25 votes)
7 Mar 20065 min read 101.8K   1.9K   63  
How to use and develop plug-ins for multiple platforms.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>SPL Library: SPL::slcPluginServer class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.6 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<h1>SPL::slcPluginServer Class Reference</h1>Plugin server class for linux and other POSIX-based systems.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="spl__pluginserver__linux_8h-source.html">spl_pluginserver_linux.h</a>&gt;</code>
<p>
Inheritance diagram for SPL::slcPluginServer:<p><center><img src="classSPL_1_1slcPluginServer__inherit__graph.png" border="0" usemap="#SPL_1_1slcPluginServer__inherit__map" alt="Inheritance graph"></center>
<map name="SPL_1_1slcPluginServer__inherit__map">
<area href="classSPL_1_1slaPluginServer.html" shape="rect" coords="7,17,145,385" alt="">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for SPL::slcPluginServer:<p><center><img src="classSPL_1_1slcPluginServer__coll__graph.png" border="0" usemap="#SPL_1_1slcPluginServer__coll__map" alt="Collaboration graph"></center>
<map name="SPL_1_1slcPluginServer__coll__map">
<area href="classSPL_1_1slaPluginServer.html" shape="rect" coords="7,17,145,385" alt="">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="classSPL_1_1slcPluginServer-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>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classSPL_1_1slcPluginServer.html#a0">slcPluginServer</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor.  <a href="#a0"></a><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>virtual&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classSPL_1_1slcPluginServer.html#a1">~slcPluginServer</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default destructor.  <a href="#a1"></a><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>virtual <a class="el" href="classSPL_1_1slcPluginInfo.html">slcPluginInfo</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classSPL_1_1slcPluginServer.html#a2">GetPluginInfo</a> (const long a_lIndex)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves information about one loaded plugin.  <a href="#a2"></a><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classSPL_1_1slcPluginServer.html#a3">GetAllPluginInfos</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Automatically retrieves information about all loaded plugins.  <a href="#a3"></a><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>virtual long&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classSPL_1_1slcPluginServer.html#a4">LoadAllPlugins</a> (const string &amp;a_strPath, const string &amp;a_strWildcard, const <a class="el" href="classSPL_1_1slcPluginArgs.html">slcPluginArgs</a> *a_pPluginArgs=NULL)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Loads all plugins with a given wildcard in a specified path.  <a href="#a4"></a><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>virtual long&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classSPL_1_1slcPluginServer.html#a5">LoadPlugin</a> (const string &amp;a_strFileName, const <a class="el" href="classSPL_1_1slcPluginArgs.html">slcPluginArgs</a> *a_pPluginArgs=NULL)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Loads a plugin with the specified file name.  <a href="#a5"></a><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classSPL_1_1slcPluginServer.html#a6">UnloadPlugin</a> (const long a_lIndex, const <a class="el" href="classSPL_1_1slcPluginArgs.html">slcPluginArgs</a> *a_pPluginArgs=NULL)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unloads a plugin with the given index (0-based).  <a href="#a6"></a><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classSPL_1_1slcPluginServer.html#a7">UnloadAllPlugins</a> (const <a class="el" href="classSPL_1_1slcPluginArgs.html">slcPluginArgs</a> *a_pPluginArgs=NULL)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unloads all plugins.  <a href="#a7"></a><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classSPL_1_1slcPluginServer.html#a8">RunPlugin</a> (const long a_lIndex, const <a class="el" href="classSPL_1_1slcPluginArgs.html">slcPluginArgs</a> *a_pPluginArgs=NULL)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Runs a plugin with the given index (0-based) and arguments.  <a href="#a8"></a><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>virtual long&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classSPL_1_1slcPluginServer.html#a9">RunAllPlugins</a> (const <a class="el" href="classSPL_1_1slcPluginArgs.html">slcPluginArgs</a> *a_pPluginArgs=NULL)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Runs all plugins with the given arguments.  <a href="#a9"></a><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>virtual long&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classSPL_1_1slcPluginServer.html#a10">Refresh</a> (const string &amp;a_strPath, const string &amp;a_strWildcard, const <a class="el" href="classSPL_1_1slcPluginArgs.html">slcPluginArgs</a> *a_pPluginShutdownArgs=NULL, const <a class="el" href="classSPL_1_1slcPluginArgs.html">slcPluginArgs</a> *a_pPluginInitArgs=NULL)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unloads all plugins and looks for new plugins in the given path.  <a href="#a10"></a><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>SPL_API&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classSPL_1_1slcPluginServer.html#a11">slcPluginServer</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor.  <a href="#a11"></a><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>virtual SPL_API&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classSPL_1_1slcPluginServer.html#a12">~slcPluginServer</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default destructor.  <a href="#a12"></a><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>virtual SPL_API <a class="el" href="classSPL_1_1slcPluginInfo.html">slcPluginInfo</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classSPL_1_1slcPluginServer.html#a13">GetPluginInfo</a> (const long a_lIndex)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves information about one loaded plugin.  <a href="#a13"></a><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void SPL_API&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classSPL_1_1slcPluginServer.html#a14">GetAllPluginInfos</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Automatically retrieves information about all loaded plugins.  <a href="#a14"></a><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>virtual long SPL_API&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classSPL_1_1slcPluginServer.html#a15">LoadAllPlugins</a> (const string &amp;a_strPath, const string &amp;a_strWildcard, const <a class="el" href="classSPL_1_1slcPluginArgs.html">slcPluginArgs</a> *a_pPluginArgs=NULL)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Loads all plugins with a given wildcard in a specified path.  <a href="#a15"></a><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>virtual long SPL_API&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classSPL_1_1slcPluginServer.html#a16">LoadPlugin</a> (const string &amp;a_strFileName, const <a class="el" href="classSPL_1_1slcPluginArgs.html">slcPluginArgs</a> *a_pPluginArgs=NULL)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Loads a plugin with the specified file name.  <a href="#a16"></a><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool SPL_API&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classSPL_1_1slcPluginServer.html#a17">UnloadPlugin</a> (const long a_lIndex, const <a class="el" href="classSPL_1_1slcPluginArgs.html">slcPluginArgs</a> *a_pPluginArgs=NULL)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unloads a plugin with the given index (0-based).  <a href="#a17"></a><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void SPL_API&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classSPL_1_1slcPluginServer.html#a18">UnloadAllPlugins</a> (const <a class="el" href="classSPL_1_1slcPluginArgs.html">slcPluginArgs</a> *a_pPluginArgs=NULL)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unloads all plugins.  <a href="#a18"></a><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool SPL_API&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classSPL_1_1slcPluginServer.html#a19">RunPlugin</a> (const long a_lIndex, const <a class="el" href="classSPL_1_1slcPluginArgs.html">slcPluginArgs</a> *a_pPluginArgs=NULL)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Runs a plugin with the given index (0-based) and arguments.  <a href="#a19"></a><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>virtual long SPL_API&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classSPL_1_1slcPluginServer.html#a20">RunAllPlugins</a> (const <a class="el" href="classSPL_1_1slcPluginArgs.html">slcPluginArgs</a> *a_pPluginArgs=NULL)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Runs all plugins with the given arguments.  <a href="#a20"></a><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>virtual long SPL_API&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classSPL_1_1slcPluginServer.html#a21">Refresh</a> (const string &amp;a_strPath, const string &amp;a_strWildcard, const <a class="el" href="classSPL_1_1slcPluginArgs.html">slcPluginArgs</a> *a_pPluginShutdownArgs=NULL, const <a class="el" href="classSPL_1_1slcPluginArgs.html">slcPluginArgs</a> *a_pPluginInitArgs=NULL)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unloads all plugins and looks for new plugins in the given path.  <a href="#a21"></a><br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Plugin server class for linux and other POSIX-based systems. 
<p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="a0" doxytag="SPL::slcPluginServer::slcPluginServer" ></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"> slcPluginServer::slcPluginServer </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&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>
Default constructor. 
<p>
    </td>
  </tr>
</table>
<a class="anchor" name="a1" doxytag="SPL::slcPluginServer::~slcPluginServer" ></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"> slcPluginServer::~<a class="el" href="classSPL_1_1slcPluginServer.html">slcPluginServer</a> </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Default destructor. 
<p>
    </td>
  </tr>
</table>

<p>
Here is the call graph for this function:<p><center><img src="classSPL_1_1slcPluginServer_a1_cgraph.png" border="0" usemap="#classSPL_1_1slcPluginServer_a1_cgraph_map" alt=""></center>
<map name="classSPL_1_1slcPluginServer_a1_cgraph_map">
<area href="classSPL_1_1slaPluginServer.html#a2" shape="rect" coords="304,7,547,33" alt="">
<area href="classSPL_1_1slcPluginServer.html#a7" shape="rect" coords="308,57,543,84" alt="">
<area href="classSPL_1_1slaPluginServer.html#b0" shape="rect" coords="620,32,788,59" alt="">
<area href="classSPL_1_1slcPluginServer.html#a6" shape="rect" coords="597,83,811,109" alt="">
</map>
<a class="anchor" name="a11" doxytag="SPL::slcPluginServer::slcPluginServer" ></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"> SPL_API SPL::slcPluginServer::slcPluginServer </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&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>
Default constructor. 
<p>
    </td>
  </tr>
</table>
<a class="anchor" name="a12" doxytag="SPL::slcPluginServer::~slcPluginServer" ></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 SPL_API SPL::slcPluginServer::~<a class="el" href="classSPL_1_1slcPluginServer.html">slcPluginServer</a> </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Default destructor. 
<p>
    </td>
  </tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="a14" doxytag="SPL::slcPluginServer::GetAllPluginInfos" ></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 void SPL_API SPL::slcPluginServer::GetAllPluginInfos </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Automatically retrieves information about all loaded plugins. 
<p>

<p>
Implements <a class="el" href="classSPL_1_1slaPluginServer.html#a5">SPL::slaPluginServer</a>.    </td>
  </tr>
</table>
<a class="anchor" name="a3" doxytag="SPL::slcPluginServer::GetAllPluginInfos" ></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 slcPluginServer::GetAllPluginInfos </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Automatically retrieves information about all loaded plugins. 
<p>

<p>
Implements <a class="el" href="classSPL_1_1slaPluginServer.html#a5">SPL::slaPluginServer</a>.    </td>
  </tr>
</table>
<a class="anchor" name="a13" doxytag="SPL::slcPluginServer::GetPluginInfo" ></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 SPL_API <a class="el" href="classSPL_1_1slcPluginInfo.html">slcPluginInfo</a> SPL::slcPluginServer::GetPluginInfo </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const long&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>a_lIndex</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Retrieves information about one loaded plugin. 
<p>

<p>
Implements <a class="el" href="classSPL_1_1slaPluginServer.html#a4">SPL::slaPluginServer</a>.    </td>
  </tr>
</table>
<a class="anchor" name="a2" doxytag="SPL::slcPluginServer::GetPluginInfo" ></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="classSPL_1_1slcPluginInfo.html">slcPluginInfo</a> slcPluginServer::GetPluginInfo </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const long&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>a_lIndex</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Retrieves information about one loaded plugin. 
<p>

<p>
Implements <a class="el" href="classSPL_1_1slaPluginServer.html#a4">SPL::slaPluginServer</a>.    </td>
  </tr>
</table>
<a class="anchor" name="a15" doxytag="SPL::slcPluginServer::LoadAllPlugins" ></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 long SPL_API SPL::slcPluginServer::LoadAllPlugins </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
          <td class="mdname" nowrap> <em>a_strPath</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const string &amp;&nbsp;</td>
          <td class="mdname" nowrap> <em>a_strWildcard</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const <a class="el" href="classSPL_1_1slcPluginArgs.html">slcPluginArgs</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>a_pPluginArgs</em> = NULL</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Loads all plugins with a given wildcard in a specified path. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>a_strPath</em>&nbsp;</td><td>[in] Valid path for searching the plugins. </td></tr>
    <tr><td valign=top><em>a_strWildcard</em>&nbsp;</td><td>[in] File wildcard (e.g. *.*, *.dll) for the plugins. </td></tr>
    <tr><td valign=top><em>a_pPluginArgs</em>&nbsp;</td><td>[in] Pointer to arguments for initializing all plugins after they have been loaded. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>Number of successfully loaded plugins. </dd></dl>

<p>
Implements <a class="el" href="classSPL_1_1slaPluginServer.html#a6">SPL::slaPluginServer</a>.    </td>
  </tr>
</table>
<a class="anchor" name="a4" doxytag="SPL::slcPluginServer::LoadAllPlugins" ></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"> long slcPluginServer::LoadAllPlugins </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
          <td class="mdname" nowrap> <em>a_strPath</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const string &amp;&nbsp;</td>
          <td class="mdname" nowrap> <em>a_strWildcard</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const <a class="el" href="classSPL_1_1slcPluginArgs.html">slcPluginArgs</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>a_pPluginArgs</em> = NULL</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Loads all plugins with a given wildcard in a specified path. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>a_strPath</em>&nbsp;</td><td>[in] Valid path for searching the plugins. </td></tr>
    <tr><td valign=top><em>a_strWildcard</em>&nbsp;</td><td>[in] File wildcard (e.g. *.*, *.dll) for the plugins. </td></tr>
    <tr><td valign=top><em>a_pPluginArgs</em>&nbsp;</td><td>[in] Pointer to arguments for initializing all plugins after they have been loaded. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>Number of successfully loaded plugins. </dd></dl>

<p>
Implements <a class="el" href="classSPL_1_1slaPluginServer.html#a6">SPL::slaPluginServer</a>.    </td>
  </tr>
</table>
<a class="anchor" name="a16" doxytag="SPL::slcPluginServer::LoadPlugin" ></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 long SPL_API SPL::slcPluginServer::LoadPlugin </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
          <td class="mdname" nowrap> <em>a_strFileName</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const <a class="el" href="classSPL_1_1slcPluginArgs.html">slcPluginArgs</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>a_pPluginArgs</em> = NULL</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Loads a plugin with the specified file name. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>a_strFileName</em>&nbsp;</td><td>[in] The plugin's file name. </td></tr>
    <tr><td valign=top><em>a_pPluginArgs</em>&nbsp;</td><td>[in] Pointer to plugin's start function arguments. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>The method returns one of the following values: </dd></dl>
<dl compact><dt><b>Return values:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>-2</em>&nbsp;</td><td>| Plugin was not found. </td></tr>
    <tr><td valign=top><em>-1</em>&nbsp;</td><td>| Plugin's initialize function was not found. </td></tr>
    <tr><td valign=top><em>0</em>&nbsp;</td><td>| Error while executing the intialisation function. </td></tr>
    <tr><td valign=top><em>1</em>&nbsp;</td><td>| Plugin was successfully loaded. </td></tr>
  </table>
</dl>

<p>
Implements <a class="el" href="classSPL_1_1slaPluginServer.html#a7">SPL::slaPluginServer</a>.    </td>
  </tr>
</table>
<a class="anchor" name="a5" doxytag="SPL::slcPluginServer::LoadPlugin" ></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"> long slcPluginServer::LoadPlugin </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
          <td class="mdname" nowrap> <em>a_strFileName</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const <a class="el" href="classSPL_1_1slcPluginArgs.html">slcPluginArgs</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>a_pPluginArgs</em> = NULL</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Loads a plugin with the specified file name. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>a_strFileName</em>&nbsp;</td><td>[in] The plugin's file name. </td></tr>
    <tr><td valign=top><em>a_pPluginArgs</em>&nbsp;</td><td>[in] Pointer to plugin's start function arguments. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>The method returns one of the following values: </dd></dl>
<dl compact><dt><b>Return values:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>-2</em>&nbsp;</td><td>| Plugin was not found. </td></tr>
    <tr><td valign=top><em>-1</em>&nbsp;</td><td>| Plugin's initialize function was not found. </td></tr>
    <tr><td valign=top><em>0</em>&nbsp;</td><td>| Error while executing the intialisation function. </td></tr>
    <tr><td valign=top><em>1</em>&nbsp;</td><td>| Plugin was successfully loaded. </td></tr>
  </table>
</dl>

<p>
Implements <a class="el" href="classSPL_1_1slaPluginServer.html#a7">SPL::slaPluginServer</a>.    </td>
  </tr>
</table>
<a class="anchor" name="a21" doxytag="SPL::slcPluginServer::Refresh" ></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 long SPL_API SPL::slcPluginServer::Refresh </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
          <td class="mdname" nowrap> <em>a_strPath</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const string &amp;&nbsp;</td>
          <td class="mdname" nowrap> <em>a_strWildcard</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const <a class="el" href="classSPL_1_1slcPluginArgs.html">slcPluginArgs</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>a_pPluginShutdownArgs</em> = NULL, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const <a class="el" href="classSPL_1_1slcPluginArgs.html">slcPluginArgs</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>a_pPluginInitArgs</em> = NULL</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Unloads all plugins and looks for new plugins in the given path. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>a_strPath</em>&nbsp;</td><td>[in] Valid path for searching the plugins. </td></tr>
    <tr><td valign=top><em>a_strWildcard</em>&nbsp;</td><td>[in] File wildcard (e.g. *.*, *.dll) for the plugins. </td></tr>
    <tr><td valign=top><em>a_pPluginShutdownArgs</em>&nbsp;</td><td>[in] Pointer to arguments for shutting down all plugins before they will be unloaded. </td></tr>
    <tr><td valign=top><em>a_pPluginInitArgs</em>&nbsp;</td><td>[in] Pointer to arguments for initializing all plugins after they have been loaded. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>Number of successfully loaded plugins. </dd></dl>

<p>
Implements <a class="el" href="classSPL_1_1slaPluginServer.html#a12">SPL::slaPluginServer</a>.    </td>
  </tr>
</table>
<a class="anchor" name="a10" doxytag="SPL::slcPluginServer::Refresh" ></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"> long slcPluginServer::Refresh </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
          <td class="mdname" nowrap> <em>a_strPath</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const string &amp;&nbsp;</td>
          <td class="mdname" nowrap> <em>a_strWildcard</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const <a class="el" href="classSPL_1_1slcPluginArgs.html">slcPluginArgs</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>a_pPluginShutdownArgs</em> = NULL, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const <a class="el" href="classSPL_1_1slcPluginArgs.html">slcPluginArgs</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>a_pPluginInitArgs</em> = NULL</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Unloads all plugins and looks for new plugins in the given path. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>a_strPath</em>&nbsp;</td><td>[in] Valid path for searching the plugins. </td></tr>
    <tr><td valign=top><em>a_strWildcard</em>&nbsp;</td><td>[in] File wildcard (e.g. *.*, *.dll) for the plugins. </td></tr>
    <tr><td valign=top><em>a_pPluginShutdownArgs</em>&nbsp;</td><td>[in] Pointer to arguments for shutting down all plugins before they will be unloaded. </td></tr>
    <tr><td valign=top><em>a_pPluginInitArgs</em>&nbsp;</td><td>[in] Pointer to arguments for initializing all plugins after they have been loaded. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>Number of successfully loaded plugins. </dd></dl>

<p>
Implements <a class="el" href="classSPL_1_1slaPluginServer.html#a12">SPL::slaPluginServer</a>.    </td>
  </tr>
</table>

<p>
Here is the call graph for this function:<p><center><img src="classSPL_1_1slcPluginServer_a10_cgraph.png" border="0" usemap="#classSPL_1_1slcPluginServer_a10_cgraph_map" alt=""></center>
<map name="classSPL_1_1slcPluginServer_a10_cgraph_map">
<area href="classSPL_1_1slaPluginServer.html#b0" shape="rect" coords="559,32,727,58" alt="">
<area href="classSPL_1_1slcPluginServer.html#a4" shape="rect" coords="256,57,480,84" alt="">
<area href="classSPL_1_1slcThreadLock.html#a2" shape="rect" coords="288,158,448,185" alt="">
<area href="classSPL_1_1slcPluginServer.html#a7" shape="rect" coords="251,108,485,134" alt="">
<area href="classSPL_1_1slcThreadLock.html#a4" shape="rect" coords="281,209,455,236" alt="">
<area href="classSPL_1_1slcMutex.html#a2" shape="rect" coords="577,158,708,185" alt="">
<area href="classSPL_1_1slcPluginServer.html#a6" shape="rect" coords="536,108,749,134" alt="">
<area href="classSPL_1_1slcMutex.html#a4" shape="rect" coords="572,209,713,236" alt="">
</map>
<a class="anchor" name="a20" doxytag="SPL::slcPluginServer::RunAllPlugins" ></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 long SPL_API SPL::slcPluginServer::RunAllPlugins </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="classSPL_1_1slcPluginArgs.html">slcPluginArgs</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>a_pPluginArgs</em> = NULL          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Runs all plugins with the given arguments. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>a_pPluginArgs</em>&nbsp;</td><td>[in] Pointer to plugin's run function arguments. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>Number of successfully executed plugins. </dd></dl>

<p>
Implements <a class="el" href="classSPL_1_1slaPluginServer.html#a11">SPL::slaPluginServer</a>.    </td>
  </tr>
</table>
<a class="anchor" name="a9" doxytag="SPL::slcPluginServer::RunAllPlugins" ></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"> long slcPluginServer::RunAllPlugins </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="classSPL_1_1slcPluginArgs.html">slcPluginArgs</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>a_pPluginArgs</em> = NULL          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Runs all plugins with the given arguments. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>a_pPluginArgs</em>&nbsp;</td><td>[in] Pointer to plugin's run function arguments. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>Number of successfully executed plugins. </dd></dl>

<p>
Implements <a class="el" href="classSPL_1_1slaPluginServer.html#a11">SPL::slaPluginServer</a>.    </td>
  </tr>
</table>

<p>
Here is the call graph for this function:<p><center><img src="classSPL_1_1slcPluginServer_a9_cgraph.png" border="0" usemap="#classSPL_1_1slcPluginServer_a9_cgraph_map" alt=""></center>
<map name="classSPL_1_1slcPluginServer_a9_cgraph_map">
<area href="classSPL_1_1slcPluginServer.html#a8" shape="rect" coords="284,7,481,33" alt="">
</map>
<a class="anchor" name="a19" doxytag="SPL::slcPluginServer::RunPlugin" ></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 bool SPL_API SPL::slcPluginServer::RunPlugin </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const long&nbsp;</td>
          <td class="mdname" nowrap> <em>a_lIndex</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const <a class="el" href="classSPL_1_1slcPluginArgs.html">slcPluginArgs</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>a_pPluginArgs</em> = NULL</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Runs a plugin with the given index (0-based) and arguments. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>a_lIndex</em>&nbsp;</td><td>[in] The plugin's index. </td></tr>
    <tr><td valign=top><em>a_pPluginArgs</em>&nbsp;</td><td>[in] Pointer to plugin's run function arguments. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>The method returns one of the following values: </dd></dl>
<dl compact><dt><b>Return values:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>true</em>&nbsp;</td><td>| The plugin execution was successful. </td></tr>
    <tr><td valign=top><em>false</em>&nbsp;</td><td>| An error occured while executing the plugin. </td></tr>
  </table>
</dl>

<p>
Implements <a class="el" href="classSPL_1_1slaPluginServer.html#a10">SPL::slaPluginServer</a>.    </td>
  </tr>
</table>
<a class="anchor" name="a8" doxytag="SPL::slcPluginServer::RunPlugin" ></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"> bool slcPluginServer::RunPlugin </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const long&nbsp;</td>
          <td class="mdname" nowrap> <em>a_lIndex</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const <a class="el" href="classSPL_1_1slcPluginArgs.html">slcPluginArgs</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>a_pPluginArgs</em> = NULL</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Runs a plugin with the given index (0-based) and arguments. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>a_lIndex</em>&nbsp;</td><td>[in] The plugin's index. </td></tr>
    <tr><td valign=top><em>a_pPluginArgs</em>&nbsp;</td><td>[in] Pointer to plugin's run function arguments. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>The method returns one of the following values: </dd></dl>
<dl compact><dt><b>Return values:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>true</em>&nbsp;</td><td>| The plugin execution was successful. </td></tr>
    <tr><td valign=top><em>false</em>&nbsp;</td><td>| An error occured while executing the plugin. </td></tr>
  </table>
</dl>

<p>
Implements <a class="el" href="classSPL_1_1slaPluginServer.html#a10">SPL::slaPluginServer</a>.    </td>
  </tr>
</table>
<a class="anchor" name="a18" doxytag="SPL::slcPluginServer::UnloadAllPlugins" ></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 void SPL_API SPL::slcPluginServer::UnloadAllPlugins </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="classSPL_1_1slcPluginArgs.html">slcPluginArgs</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>a_pPluginArgs</em> = NULL          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Unloads all plugins. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>a_pPluginArgs</em>&nbsp;</td><td>[in] Arguments for shutting down all plugins after they have been unloaded. </td></tr>
  </table>
</dl>

<p>
Implements <a class="el" href="classSPL_1_1slaPluginServer.html#a9">SPL::slaPluginServer</a>.    </td>
  </tr>
</table>
<a class="anchor" name="a7" doxytag="SPL::slcPluginServer::UnloadAllPlugins" ></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 slcPluginServer::UnloadAllPlugins </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="classSPL_1_1slcPluginArgs.html">slcPluginArgs</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>a_pPluginArgs</em> = NULL          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Unloads all plugins. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>a_pPluginArgs</em>&nbsp;</td><td>[in] Arguments for shutting down all plugins after they have been unloaded. </td></tr>
  </table>
</dl>

<p>
Implements <a class="el" href="classSPL_1_1slaPluginServer.html#a9">SPL::slaPluginServer</a>.    </td>
  </tr>
</table>

<p>
Here is the call graph for this function:<p><center><img src="classSPL_1_1slcPluginServer_a7_cgraph.png" border="0" usemap="#classSPL_1_1slcPluginServer_a7_cgraph_map" alt=""></center>
<map name="classSPL_1_1slcPluginServer_a7_cgraph_map">
<area href="classSPL_1_1slaPluginServer.html#b0" shape="rect" coords="327,6,495,33" alt="">
<area href="classSPL_1_1slcPluginServer.html#a6" shape="rect" coords="304,57,517,84" alt="">
</map>
<a class="anchor" name="a17" doxytag="SPL::slcPluginServer::UnloadPlugin" ></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 bool SPL_API SPL::slcPluginServer::UnloadPlugin </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const long&nbsp;</td>
          <td class="mdname" nowrap> <em>a_lIndex</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const <a class="el" href="classSPL_1_1slcPluginArgs.html">slcPluginArgs</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>a_pPluginArgs</em> = NULL</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Unloads a plugin with the given index (0-based). 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>a_lIndex</em>&nbsp;</td><td>[in] The plugin's index. </td></tr>
    <tr><td valign=top><em>a_pPluginArgs</em>&nbsp;</td><td>[in] Pointer to plugin's shutdown function arguments. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>The method returns one of the following values: </dd></dl>
<dl compact><dt><b>Return values:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>true</em>&nbsp;</td><td>| The plugin was unloaded successfully. </td></tr>
    <tr><td valign=top><em>false</em>&nbsp;</td><td>| Could not unload plugin. </td></tr>
  </table>
</dl>

<p>
Implements <a class="el" href="classSPL_1_1slaPluginServer.html#a8">SPL::slaPluginServer</a>.    </td>
  </tr>
</table>
<a class="anchor" name="a6" doxytag="SPL::slcPluginServer::UnloadPlugin" ></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"> bool slcPluginServer::UnloadPlugin </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const long&nbsp;</td>
          <td class="mdname" nowrap> <em>a_lIndex</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const <a class="el" href="classSPL_1_1slcPluginArgs.html">slcPluginArgs</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>a_pPluginArgs</em> = NULL</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Unloads a plugin with the given index (0-based). 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>a_lIndex</em>&nbsp;</td><td>[in] The plugin's index. </td></tr>
    <tr><td valign=top><em>a_pPluginArgs</em>&nbsp;</td><td>[in] Pointer to plugin's shutdown function arguments. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>The method returns one of the following values: </dd></dl>
<dl compact><dt><b>Return values:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>true</em>&nbsp;</td><td>| The plugin was unloaded successfully. </td></tr>
    <tr><td valign=top><em>false</em>&nbsp;</td><td>| Could not unload plugin. </td></tr>
  </table>
</dl>

<p>
Implements <a class="el" href="classSPL_1_1slaPluginServer.html#a8">SPL::slaPluginServer</a>.    </td>
  </tr>
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="spl__pluginserver__linux_8h-source.html">spl_pluginserver_linux.h</a><li><a class="el" href="spl__pluginserver__win32_8h-source.html">spl_pluginserver_win32.h</a><li><a class="el" href="spl__pluginserver__linux_8cpp.html">spl_pluginserver_linux.cpp</a><li><a class="el" href="spl__pluginserver__win32_8cpp.html">spl_pluginserver_win32.cpp</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Sun May 9 15:01:06 2004 for SPL Library by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 > 
</a>1.3.6 </small></address>
</body>
</html>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
Web Developer
Germany Germany
I was born in 1982 near Stuttgart / Germany and began my first steps in programming computers at the age of only nine years on an old Commodore CBM 7072. In 2002 I finished my education as IT specialist for software engineering and did my civillian service afterwards. Currently I'm working as leader of the software division in a bigger company located in south west Germany, mainly on software development and research projects for multimedia terminals and user recognition/verification systems.

Comments and Discussions