- multi_platform_plugin_spl_demo.zip
- builds
- dotnet2003
- linux
- vc6
- libspl.dsp
- libspl.dsw
- code
- documents
- examples
- bin
- ConsoleTest.exe
- MfcPluginDllTest.exe
- MFCPluginTest.exe
- MfcThreadPluginTest.exe
- spl.dll
- StartConsoleTest.bat
- builds
- ConsoleTest
- examples.sln
- MfcPluginDllTest
- MfcPluginTest
- MfcThreadPluginTest
- plArgInfos
- plHelloWorld
- plHelloWorldNoMacros
- plReverse
- plReverseSlow
- plToLower
- plToUpper
- obj
- plugins
- plArgInfos.dll
- plHelloWorld.dll
- plHelloWorldNoMacros.dll
- plReverse.dll
- plReverseSlow.dll
- plToLower.dll
- plToUpper.dll
- history.txt
- lib
- dll
- spl.dll
- spl.lib
- spld.dll
- spld.lib
- libspl.lib
- libspld.lib
- license.txt
- obj
- readme.txt
|
<!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_pluginserver.h Source File</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 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></div>
<h1>spl_pluginserver.h</h1><a href="spl__pluginserver_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001
00028 <span class="comment">//---------------------------------------------------------------------------------------------------------------------------</span>
00033 <span class="comment"></span><span class="comment">//---------------------------------------------------------------------------------------------------------------------------</span>
00034
00035 <span class="preprocessor">#ifndef __SPL_PLUGINSERVER_H__</span>
00036 <span class="preprocessor"></span><span class="preprocessor">#define __SPL_PLUGINSERVER_H__</span>
00037 <span class="preprocessor"></span>
00038 <span class="preprocessor">#ifndef __SPL_TYPEDEFS_H__</span>
00039 <span class="preprocessor"></span><span class="preprocessor">#include "<a class="code" href="spl__typedefs_8h.html">spl_typedefs.h</a>"</span>
00040 <span class="preprocessor">#endif</span>
00041 <span class="preprocessor"></span>
00042 <span class="preprocessor">#ifndef __SPL_PLUGININFO_H__</span>
00043 <span class="preprocessor"></span><span class="preprocessor">#include "<a class="code" href="spl__plugininfo_8h.html">spl_plugininfo.h</a>"</span>
00044 <span class="preprocessor">#endif</span>
00045 <span class="preprocessor"></span>
00046 <span class="preprocessor">#ifndef __SPL_PLUGINARGS_H__</span>
00047 <span class="preprocessor"></span><span class="preprocessor">#include "<a class="code" href="spl__pluginargs_8h.html">spl_pluginargs.h</a>"</span>
00048 <span class="preprocessor">#endif</span>
00049 <span class="preprocessor"></span>
00050 <span class="preprocessor">#ifndef __SPL_MUTEX_H__</span>
00051 <span class="preprocessor"></span><span class="preprocessor">#include "<a class="code" href="spl__mutex_8h.html">spl_mutex.h</a>"</span>
00052 <span class="preprocessor">#endif</span>
00053 <span class="preprocessor"></span>
00054 <span class="preprocessor">#ifndef _MAP_</span>
00055 <span class="preprocessor"></span><span class="preprocessor">#include <map></span>
00056 <span class="preprocessor">#endif</span>
00057 <span class="preprocessor"></span>
00058 <span class="preprocessor">#ifndef _STRING_</span>
00059 <span class="preprocessor"></span><span class="preprocessor">#include <string></span>
00060 <span class="preprocessor">#endif</span>
00061 <span class="preprocessor"></span>
00062
00063 <span class="preprocessor">#if SPL_PLATFORM == SPL_PLATFORM_WIN32</span>
00064 <span class="preprocessor"></span><span class="preprocessor"> #if defined ( SPL_MAKE_DLL )</span>
00065 <span class="preprocessor"></span><span class="preprocessor"> #define SPL_API __declspec( dllexport )</span>
00066 <span class="preprocessor"></span><span class="preprocessor"> #elif defined ( SPL_USE_DLL )</span>
00067 <span class="preprocessor"></span><span class="preprocessor"> #define SPL_API __declspec( dllimport )</span>
00068 <span class="preprocessor"></span><span class="preprocessor"> #else </span>
00069 <span class="preprocessor"></span><span class="preprocessor"> #define SPL_API </span>
00070 <span class="preprocessor"></span><span class="preprocessor"> #endif</span>
00071 <span class="preprocessor"></span><span class="preprocessor">#else</span>
<a name="l00072"></a><a class="code" href="spl__pluginserver_8h.html#a0">00072</a> <span class="preprocessor"></span><span class="preprocessor"> #define SPL_API </span>
00073 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00074 <span class="preprocessor"></span>
00075 <span class="keyword">using</span> <span class="keyword">namespace </span>std;
00076
00077 <span class="keyword">namespace </span>SPL
00078 {
00079
00080 <span class="comment">//---------------------------------------------------------------------------------------------------------------------------</span>
00083 <span class="comment"></span><span class="comment">//---------------------------------------------------------------------------------------------------------------------------</span>
<a name="l00084"></a><a class="code" href="classSPL_1_1slaPluginServer.html">00084</a> <span class="keyword">class </span><a class="code" href="classSPL_1_1slaPluginServer.html">slaPluginServer</a> : <span class="keyword">public</span> <a class="code" href="classSPL_1_1slcMutex.html">slcMutex</a>
00085 {
00086 <span class="comment">//</span>
00087 <span class="comment">//-----------------------------------------------------------------------------------------------------------------------</span>
00088 <span class="comment">//*********************************************** CON/DESTRUCTION ***********************************************</span>
00089 <span class="comment">//-----------------------------------------------------------------------------------------------------------------------</span>
00090 <span class="comment">//</span>
00091 <span class="keyword">public</span>:
00092
00093 <span class="comment">//-----------------------------------------------------------------------------------------------------------------------</span>
00095 <span class="comment"></span> <span class="comment">//-----------------------------------------------------------------------------------------------------------------------</span>
00096 <a class="code" href="spl__mutex_8h.html#a1">SPL_API</a> <a class="code" href="classSPL_1_1slaPluginServer.html#a0">slaPluginServer</a>( <span class="keywordtype">void</span> );
00097
00098 <span class="comment">//-----------------------------------------------------------------------------------------------------------------------</span>
00100 <span class="comment"></span> <span class="comment">//-----------------------------------------------------------------------------------------------------------------------</span>
00101 <span class="keyword">virtual</span> <a class="code" href="spl__mutex_8h.html#a1">SPL_API</a> <a class="code" href="classSPL_1_1slaPluginServer.html#a1">~slaPluginServer</a>( <span class="keywordtype">void</span> );
00102
00103 <span class="comment">//</span>
00104 <span class="comment">//-----------------------------------------------------------------------------------------------------------------------</span>
00105 <span class="comment">//************************************************ MODIFICATION *************************************************</span>
00106 <span class="comment">//-----------------------------------------------------------------------------------------------------------------------</span>
00107 <span class="comment">//</span>
00108
00109 <span class="keyword">protected</span>:
00110
00111 <span class="comment">//-----------------------------------------------------------------------------------------------------------------------</span>
00113 <span class="comment"></span> <span class="comment">// @remarks This function is only for internal use!</span>
00114 <span class="comment">//-----------------------------------------------------------------------------------------------------------------------</span>
00115 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="spl__mutex_8h.html#a1">SPL_API</a> <a class="code" href="classSPL_1_1slaPluginServer.html#b0">Clear</a>( <span class="keywordtype">void</span> );
00116
00117 <span class="keyword">public</span>:
00118
00119 <span class="comment">//-----------------------------------------------------------------------------------------------------------------------</span>
00121 <span class="comment"></span> <span class="comment">//-----------------------------------------------------------------------------------------------------------------------</span>
00122 <span class="keyword">virtual</span> <span class="keywordtype">long</span> <a class="code" href="spl__mutex_8h.html#a1">SPL_API</a> <a class="code" href="classSPL_1_1slaPluginServer.html#a2">GetLoadedPlugins</a>( <span class="keywordtype">void</span> );
00123
00124 <span class="comment">//-----------------------------------------------------------------------------------------------------------------------</span>
00130 <span class="comment"></span> <span class="comment">//-----------------------------------------------------------------------------------------------------------------------</span>
00131 <span class="keyword">virtual</span> <a class="code" href="classSPL_1_1slcPluginInfo.html">slcPluginInfo</a> <a class="code" href="spl__mutex_8h.html#a1">SPL_API</a> <a class="code" href="classSPL_1_1slaPluginServer.html#a3">GetSafedPluginInfo</a>( <span class="keyword">const</span> <span class="keywordtype">long</span> a_lIndex );
00132
00133 <span class="comment">//-----------------------------------------------------------------------------------------------------------------------</span>
00139 <span class="comment"></span> <span class="comment">//-----------------------------------------------------------------------------------------------------------------------</span>
00140 <span class="keyword">virtual</span> <a class="code" href="classSPL_1_1slcPluginInfo.html">slcPluginInfo</a> <a class="code" href="spl__mutex_8h.html#a1">SPL_API</a> <a class="code" href="classSPL_1_1slaPluginServer.html#a4">GetPluginInfo</a>( <span class="keyword">const</span> <span class="keywordtype">long</span> a_lIndex ) = 0;
00141
00142 <span class="comment">//-----------------------------------------------------------------------------------------------------------------------</span>
00144 <span class="comment"></span> <span class="comment">// @remarks This function is pure virtual and must be overwritten!</span>
00145 <span class="comment">//-----------------------------------------------------------------------------------------------------------------------</span>
00146 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="spl__mutex_8h.html#a1">SPL_API</a> <a class="code" href="classSPL_1_1slaPluginServer.html#a5">GetAllPluginInfos</a>( <span class="keywordtype">void</span> ) = 0;
00147
00148 <span class="comment">//-----------------------------------------------------------------------------------------------------------------------</span>
00154 <span class="comment"></span> <span class="comment">// @remarks This function is pure virtual and must be overwritten!</span>
00155 <span class="comment">//-----------------------------------------------------------------------------------------------------------------------</span>
00156 <span class="keyword">virtual</span> <span class="keywordtype">long</span> <a class="code" href="spl__mutex_8h.html#a1">SPL_API</a> <a class="code" href="classSPL_1_1slaPluginServer.html#a6">LoadAllPlugins</a>( <span class="keyword">const</span> string& a_strPath,
00157 <span class="keyword">const</span> string& a_strWildcard,
00158 <span class="keyword">const</span> <a class="code" href="classSPL_1_1slcPluginArgs.html">slcPluginArgs</a>* a_pPluginArgs = <a class="code" href="spl__typedefs_8h.html#a0">NULL</a> ) = 0;
00159
00160 <span class="comment">//-----------------------------------------------------------------------------------------------------------------------</span>
00169 <span class="comment"></span> <span class="comment">// @remarks This function is pure virtual and must be overwritten!</span>
00170 <span class="comment">//-----------------------------------------------------------------------------------------------------------------------</span>
00171 <span class="keyword">virtual</span> <span class="keywordtype">long</span> <a class="code" href="spl__mutex_8h.html#a1">SPL_API</a> <a class="code" href="classSPL_1_1slaPluginServer.html#a7">LoadPlugin</a>( <span class="keyword">const</span> string& a_strFileName, <span class="keyword">const</span> <a class="code" href="classSPL_1_1slcPluginArgs.html">slcPluginArgs</a>* a_pPluginArgs = <a class="code" href="spl__typedefs_8h.html#a0">NULL</a> ) = 0;
00172
00173 <span class="comment">//-----------------------------------------------------------------------------------------------------------------------</span>
00180 <span class="comment"></span> <span class="comment">// @remarks This function is pure virtual and must be overwritten!</span>
00181 <span class="comment">//-----------------------------------------------------------------------------------------------------------------------</span>
00182 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="spl__mutex_8h.html#a1">SPL_API</a> <a class="code" href="classSPL_1_1slaPluginServer.html#a8">UnloadPlugin</a>( <span class="keyword">const</span> <span class="keywordtype">long</span> a_lIndex, <span class="keyword">const</span> <a class="code" href="classSPL_1_1slcPluginArgs.html">slcPluginArgs</a>* a_pPluginArgs = <a class="code" href="spl__typedefs_8h.html#a0">NULL</a> ) = 0;
00183
00184 <span class="comment">//-----------------------------------------------------------------------------------------------------------------------</span>
00187 <span class="comment"></span> <span class="comment">// @remarks This function is pure virtual and must be overwritten!</span>
00188 <span class="comment">//-----------------------------------------------------------------------------------------------------------------------</span>
00189 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="spl__mutex_8h.html#a1">SPL_API</a> <a class="code" href="classSPL_1_1slaPluginServer.html#a9">UnloadAllPlugins</a>( <span class="keyword">const</span> <a class="code" href="classSPL_1_1slcPluginArgs.html">slcPluginArgs</a>* a_pPluginArgs = <a class="code" href="spl__typedefs_8h.html#a0">NULL</a> ) = 0;
00190
00191 <span class="comment">//-----------------------------------------------------------------------------------------------------------------------</span>
00198 <span class="comment"></span> <span class="comment">// @remarks This function is pure virtual and must be overwritten!</span>
00199 <span class="comment">//-----------------------------------------------------------------------------------------------------------------------</span>
00200 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="spl__mutex_8h.html#a1">SPL_API</a> <a class="code" href="classSPL_1_1slaPluginServer.html#a10">RunPlugin</a>( <span class="keyword">const</span> <span class="keywordtype">long</span> a_lIndex, <span class="keyword">const</span> <a class="code" href="classSPL_1_1slcPluginArgs.html">slcPluginArgs</a>* a_pPluginArgs = <a class="code" href="spl__typedefs_8h.html#a0">NULL</a> ) = 0;
00201
00202 <span class="comment">//-----------------------------------------------------------------------------------------------------------------------</span>
00206 <span class="comment"></span> <span class="comment">// @remarks This function is pure virtual and must be overwritten!</span>
00207 <span class="comment">//-----------------------------------------------------------------------------------------------------------------------</span>
00208 <span class="keyword">virtual</span> <span class="keywordtype">long</span> <a class="code" href="spl__mutex_8h.html#a1">SPL_API</a> <a class="code" href="classSPL_1_1slaPluginServer.html#a11">RunAllPlugins</a>( <span class="keyword">const</span> <a class="code" href="classSPL_1_1slcPluginArgs.html">slcPluginArgs</a>* a_pPluginArgs = <a class="code" href="spl__typedefs_8h.html#a0">NULL</a> ) = 0;
00209
00210 <span class="comment">//-----------------------------------------------------------------------------------------------------------------------</span>
00217 <span class="comment"></span> <span class="comment">// @remarks This function is pure virtual and must be overwritten!</span>
00218 <span class="comment">//-----------------------------------------------------------------------------------------------------------------------</span>
00219 <span class="keyword">virtual</span> <span class="keywordtype">long</span> <a class="code" href="spl__mutex_8h.html#a1">SPL_API</a> <a class="code" href="classSPL_1_1slaPluginServer.html#a12">Refresh</a>( <span class="keyword">const</span> string& a_strPath,
00220 <span class="keyword">const</span> string& a_strWildcard,
00221 <span class="keyword">const</span> <a class="code" href="classSPL_1_1slcPluginArgs.html">slcPluginArgs</a>* a_pPluginShutdownArgs = <a class="code" href="spl__typedefs_8h.html#a0">NULL</a>,
00222 <span class="keyword">const</span> <a class="code" href="classSPL_1_1slcPluginArgs.html">slcPluginArgs</a>* a_pPluginInitArgs = <a class="code" href="spl__typedefs_8h.html#a0">NULL</a> ) = 0;
00223
00224
00225 <span class="comment">//</span>
00226 <span class="comment">//-----------------------------------------------------------------------------------------------------------------------</span>
00227 <span class="comment">//************************************************* ATTRIBUTES **************************************************</span>
00228 <span class="comment">//-----------------------------------------------------------------------------------------------------------------------</span>
00229 <span class="comment">//</span>
00230 <span class="keyword">protected</span>:
00231
<a name="l00232"></a><a class="code" href="classSPL_1_1slaPluginServer.html#p0">00232</a> map< long, SPL_BITTYPE > <a class="code" href="classSPL_1_1slaPluginServer.html#p0">m_mapPluginIds</a>;
<a name="l00233"></a><a class="code" href="classSPL_1_1slaPluginServer.html#p1">00233</a> map< long, SPL_BITTYPE > ::iterator <a class="code" href="classSPL_1_1slaPluginServer.html#p1">itIds</a>;
00234
<a name="l00235"></a><a class="code" href="classSPL_1_1slaPluginServer.html#p2">00235</a> map< long, slcPluginInfo > <a class="code" href="classSPL_1_1slaPluginServer.html#p2">m_mapPluginInfos</a>;
<a name="l00236"></a><a class="code" href="classSPL_1_1slaPluginServer.html#p3">00236</a> map< long, slcPluginInfo > ::iterator <a class="code" href="classSPL_1_1slaPluginServer.html#p3">itInfos</a>;
00237
<a name="l00238"></a><a class="code" href="classSPL_1_1slaPluginServer.html#p4">00238</a> <a class="code" href="classSPL_1_1slcPluginArgs.html">slcPluginArgs</a> <a class="code" href="classSPL_1_1slaPluginServer.html#p4">m_nullArgs</a>;
<a name="l00239"></a><a class="code" href="classSPL_1_1slaPluginServer.html#p5">00239</a> <a class="code" href="classSPL_1_1slcPluginInfo.html">slcPluginInfo</a> <a class="code" href="classSPL_1_1slaPluginServer.html#p5">m_nullInfo</a>;
00240 };
00241
<a name="l00242"></a><a class="code" href="spl__pluginserver_8h.html#a1">00242</a> <span class="preprocessor">#define SPL_INIT_NAME "splInitialize" </span>
<a name="l00243"></a><a class="code" href="spl__pluginserver_8h.html#a2">00243</a> <span class="preprocessor">#define SPL_INIT_NAME_CODE splInitialize </span>
<a name="l00244"></a><a class="code" href="spl__pluginserver_8h.html#a3">00244</a> <span class="preprocessor">#define SPL_RUN_NAME "splRun" </span>
<a name="l00245"></a><a class="code" href="spl__pluginserver_8h.html#a4">00245</a> <span class="preprocessor">#define SPL_RUN_NAME_CODE splRun </span>
<a name="l00246"></a><a class="code" href="spl__pluginserver_8h.html#a5">00246</a> <span class="preprocessor">#define SPL_SHUTDOWN_NAME "splShutdown" </span>
<a name="l00247"></a><a class="code" href="spl__pluginserver_8h.html#a6">00247</a> <span class="preprocessor">#define SPL_SHUTDOWN_NAME_CODE splShutdown </span>
<a name="l00248"></a><a class="code" href="spl__pluginserver_8h.html#a7">00248</a> <span class="preprocessor">#define SPL_GETINFO_NAME "splGetInfo" </span>
<a name="l00249"></a><a class="code" href="spl__pluginserver_8h.html#a8">00249</a> <span class="preprocessor">#define SPL_GETINFO_NAME_CODE splGetInfo </span>
00250 <span class="preprocessor"></span>
00251 <span class="preprocessor"></span><span class="comment">//-----------------------------------------------------------------------------------------------------------------------</span>
00253 <span class="comment"></span><span class="comment">//-----------------------------------------------------------------------------------------------------------------------</span>
<a name="l00254"></a><a class="code" href="namespaceSPL.html#a0">00254</a> <span class="keyword">typedef</span> bool( *<a class="code" href="namespaceSPL.html#a0">SPL_INIT_FUNC</a> )( <span class="keyword">const</span> <a class="code" href="classSPL_1_1slcPluginArgs.html">slcPluginArgs</a>* );
00255
00256 <span class="comment">//-----------------------------------------------------------------------------------------------------------------------</span>
00258 <span class="comment"></span><span class="comment">//-----------------------------------------------------------------------------------------------------------------------</span>
<a name="l00259"></a><a class="code" href="namespaceSPL.html#a1">00259</a> <span class="keyword">typedef</span> bool( *<a class="code" href="namespaceSPL.html#a1">SPL_RUN_FUNC</a> )( <span class="keyword">const</span> <a class="code" href="classSPL_1_1slcPluginArgs.html">slcPluginArgs</a>* );
00260
00261 <span class="comment">//-----------------------------------------------------------------------------------------------------------------------</span>
00263 <span class="comment"></span><span class="comment">//-----------------------------------------------------------------------------------------------------------------------</span>
<a name="l00264"></a><a class="code" href="namespaceSPL.html#a2">00264</a> <span class="keyword">typedef</span> bool( *<a class="code" href="namespaceSPL.html#a2">SPL_SHUTDOWN_FUNC</a> )( <span class="keyword">const</span> <a class="code" href="classSPL_1_1slcPluginArgs.html">slcPluginArgs</a>* );
00265
00266 <span class="comment">//-----------------------------------------------------------------------------------------------------------------------</span>
00268 <span class="comment"></span><span class="comment">//-----------------------------------------------------------------------------------------------------------------------</span>
<a name="l00269"></a><a class="code" href="namespaceSPL.html#a3">00269</a> <span class="keyword">typedef</span> <a class="code" href="classSPL_1_1slcPluginInfo.html">slcPluginInfo</a>*( *SPL_INFO_FUNC )( <span class="keywordtype">void</span> );
00270
00271 } <span class="comment">// End of namespace SPL</span>
00272
00273 <span class="keyword">using</span> <span class="keyword">namespace </span><a class="code" href="classSPL.html">SPL</a>;
00274
00275 <span class="preprocessor">#endif // __SPL_PLUGINSERVER_H__</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Sun May 9 15:01:04 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.
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.