Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

pluginloader.h

Go to the documentation of this file.
00001 #ifndef PLUGINLOADER_H
00002 #define PLUGINLOADER_H
00003 
00004 #include <kore/kore.h>
00005 #include <kore/serviceprovider.h>
00006 
00007 namespace kore
00008 {
00009 
00010 class Plugin;
00026 typedef Plugin* (*PluginFuncType)(HMODULE libHandle, const char* libName, const char* libPath, int libFlags );
00027 
00032 class KORE_API PluginLoader: public ServiceProvider
00033 {
00034 public:
00038     PluginLoader();
00042     ~PluginLoader();
00054     virtual Plugin* openPlugin(const char* libName, const char* libPath = 0, int libFlags = 0);
00066     virtual Plugin* runPlugin(const char* libName, const char* libPath = 0, int libFlags = 0);
00071     virtual void closePlugin(Plugin* plugin);
00076     virtual const char* lastError();
00077 
00085     virtual char* libName2fileName(const char* libName);
00093     virtual char* fileName2libName(const char* fileName);
00094 private:
00095     // current PLDR version
00096     const Version* _loaderVersion;
00097     // Kernel API version required by PLDR
00098     const Version* _loaderAPIVersion;
00099     // PLDR info
00100     const Info* _loaderInfo;
00101     // basic PLDR service
00102     const Service* _loaderService;
00103     // last error string
00104     char _lastError[100];
00105 };
00106 
00107 };
00108 
00109 #endif

Generated on Sat Feb 16 08:40:48 2002 for Korelib by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001