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