00001 /* 00002 * $Id: Plugin.h 562 2007-12-02 08:04:16Z mindstorm2600 $ 00003 * 00004 * X-VR2 00005 * 00006 * Copyright (C) Juan V. Guerrero 2007 00007 * 00008 * Juan V. Guerrero <mindstorm2600@users.sourceforge.net> 00009 * 00010 * This program is free software, distributed under the terms of 00011 * the GNU General Public License Version 2. See the LICENSE file 00012 * at the top of the source tree. 00013 */ 00014 #ifndef __XVR2_PLUGIN_H__ 00015 #define __XVR2_PLUGIN_H__ 00016 #include<xvr2/System.h> 00017 #include<xvr2/String.h> 00018 #include<xvr2/CoreExceptions.h> 00019 00020 #ifndef _WIN32 00021 00022 namespace xvr2{ 00027 class Plugin:public System{ 00028 protected: 00032 String dso; 00036 bool loaded; 00041 void *handle; 00042 public: 00047 Plugin(); 00052 Plugin(const String &plName); 00053 ~Plugin(); 00060 void load(); 00065 void load(const String &plName); 00069 void unload(); 00074 void *getSymbol(const String &sym); 00078 const String &getDSOName(); 00079 }; 00080 00081 } 00082 #else 00083 #warning "There's no portability for the windows side yet" 00084 #endif 00085 00086 #endif 00087