00001 #ifndef _Q_DLL_MANAGER_HH
00002 #define _Q_DLL_MANAGER_HH
00003
00011 #include <string>
00012 #include <map>
00013 #include "QError.hh"
00014
00015 class QDLLManager
00016 {
00017 public:
00018 QDLLManager( const char *fname );
00019 virtual ~QDLLManager();
00020
00021
00022 QError GetSymbol( void **, const char *sym_name );
00023
00024 const char *LastError()
00025 {
00026 return err;
00027 }
00028
00029 protected:
00030 void *h;
00031 const char *err;
00032 };
00033
00047 class QDLLLoader
00048 {
00049 public:
00050 QDLLLoader();
00051
00052 QError Init(const std::string& pluginlist, const std::string& pluginPrefix);
00053
00054 QError LoadPlugin(const std::string& name);
00055
00056 private:
00057 std::map<std::string, std::string> fPluginsLib;
00058 std::string fPluginPrefix;
00059
00060 };
00061
00062 #endif