Main Page | Modules | Class Hierarchy | Class List | File List | Class Members | File Members | Related Pages

SLPlugin.hpp

00001 // $Id: SLPlugin.hpp,v 1.8 2004/04/15 00:04:52 mr_lex Exp $
00002 #ifndef SL_PLUGIN_HPP
00003 #define SL_PLUGIN_HPP
00004 
00005 #include <string>
00006 
00007 #include "segusoland.hpp"
00008 
00009 #include "SLPluginFeature.hpp"
00010 #include "SLConfig.hpp"
00011 
00012 SL_NAMESPACE_BEGIN
00013 using namespace std;
00014 
00015 
00029 class SLPlugin {
00030 public:
00040         virtual void init(SLConfig &config) = 0;
00041 
00047         virtual void finish() = 0;
00048         
00060         virtual SLPluginFeature *getFeature() = 0;
00061 
00066         virtual void disposeFeature(SLPluginFeature *feature) = 0;
00067 
00078         virtual unsigned int getVersionMajor() const = 0; 
00079         
00081         virtual unsigned int getVersionMinor() const = 0;
00082 
00084         virtual const SLString &getName() const = 0;
00085 
00087         virtual SLPluginFeature::Type::Types getType() const = 0;
00088 
00090         virtual void set_dl_handle(void *dl_handle) = 0;
00091 
00093         virtual void *get_dl_handle() const = 0;
00094         
00095 }; // class SLPlugin
00096 
00097 
00098 SL_NAMESPACE_END
00099 #endif // #ifndef SL_PLUGIN_HPP
00100 
00101 // $Log: SLPlugin.hpp,v $
00102 // Revision 1.8  2004/04/15 00:04:52  mr_lex
00103 // NEW: files plugin + autotools up to date
00104 //
00105 // Revision 1.7  2004/04/13 13:56:15  mr_lex
00106 // NEW: added mysql plugin
00107 //
00108 // Revision 1.6  2004/04/05 23:42:41  mr_lex
00109 // FIX: various Exceptions issues + unloading of plugins
00110 //
00111 // Revision 1.5  2004/04/05 18:11:54  mr_lex
00112 // NEW: 1st working version of plugins
00113 //
00114 // Revision 1.4  2004/04/05 01:42:30  mr_lex
00115 // FIX: bug with abstract class & plugins
00116 //
00117 // Revision 1.3  2004/04/04 14:38:00  mr_lex
00118 // FIX: removed const vars
00119 //
00120 // Revision 1.2  2004/04/03 15:07:34  mr_lex
00121 // NEW: plugin system and toolkit nearly mature
00122 //
00123 // Revision 1.1  2004/04/01 19:04:44  mr_lex
00124 // NEW: moved from plugins directory
00125 //
00126 

Generated on Mon Apr 19 01:03:33 2004 for segusoLand by doxygen 1.3.6-20040222