00001 /*---------------------------------------------------------------------\ 00002 | | 00003 | __ __ ____ _____ ____ | 00004 | \ \ / /_ _/ ___|_ _|___ \ | 00005 | \ V / _` \___ \ | | __) | | 00006 | | | (_| |___) || | / __/ | 00007 | |_|\__,_|____/ |_| |_____| | 00008 | | 00009 | core system | 00010 | (C) SuSE GmbH | 00011 \----------------------------------------------------------------------/ 00012 00013 File: YUIPlugin.h 00014 00015 Author: Stefan Hundhammer <sh@suse.de> 00016 00017 /-*/ 00018 00019 00020 #ifndef YUIPlugin_h 00021 #define YUIPlugin_h 00022 00023 #include <string> 00024 using std::string; 00025 00026 00030 class YUIPlugin 00031 { 00032 public: 00033 00038 YUIPlugin( const char * pluginLibBaseName ); 00039 00044 virtual ~YUIPlugin(); 00045 00053 void * locateSymbol( const char * symbol ); 00054 00058 bool error() const; 00059 00063 bool success() const; 00064 00069 string errorMsg() const; 00070 00071 protected: 00072 00076 void * pluginLibHandle() { return _pluginLibHandle; } 00077 00081 string pluginLibBaseName() const { return _pluginLibBaseName; } 00082 00086 string pluginLibFullPath() const; 00087 00091 void loadPluginLib(); 00092 00093 private: 00094 00095 string _pluginLibBaseName; 00096 void * _pluginLibHandle; 00097 string _errorMsg; 00098 }; 00099 00100 00101 #endif // YUIPlugin_h
1.5.3