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

Generated on Tue Nov 16 10:49:55 2010 for CUORE Software by  doxygen 1.5.6