Diana Software
QDll.hh
Go to the documentation of this file.
1 #ifndef _Q_DLL_MANAGER_HH
2 #define _Q_DLL_MANAGER_HH
12 #include <string>
13 #include <map>
14 #include <set>
15 #include <vector>
16 #include "QError.hh"
17 
19 
21 {
22  public:
23  QDLLManager( const char *fname, const bool autoload = false );
24  virtual ~QDLLManager();
25 
26 
27  QError GetSymbol( void **, const char *sym_name );
28 
29  const char *LastError()
30  {
31  return err;
32  }
33 
34  protected:
35  void *h;
36  const char *err;
37 };
38 
52 class QDLLLoader
53 {
54  public:
55  static QDLLLoader& GetInstance();
56  void SetAutoLoad(const bool autoload) { fDoAutoLoad = autoload; }
57 
58  QError Init(const std::string& pluginlist, const std::string& pluginPrefix);
59 
60  QError LoadPlugin(const std::string& name);
61 
62  private:
64  public:
65  std::string library;
66  std::string fullPathLibrary;
67  };
68  QDLLLoader();
69  std::map<std::string, std::string> fPluginsLib;
70  std::vector<AutoLoadPlugin> fAutoPluginsLib;
71  std::string fPluginPrefix;
72  std::set<std::string> fPluginLists;
75 
76 
77 };
78 
80 
81 #endif
#define Q_END_NAMESPACE
Definition: QDiana.hh:22
#define Q_BEGIN_NAMESPACE
Definition: QDiana.hh:20
std::string library
Definition: QDll.hh:65
std::string fullPathLibrary
Definition: QDll.hh:66
bool fDoAutoLoad
Definition: QDll.hh:74
std::set< std::string > fPluginLists
Definition: QDll.hh:72
std::string fPluginPrefix
Definition: QDll.hh:71
static QDLLLoader & GetInstance()
Definition: QDll.cc:44
QDLLLoader()
Definition: QDll.cc:51
QError LoadPlugin(const std::string &name)
Definition: QDll.cc:132
std::map< std::string, std::string > fPluginsLib
Definition: QDll.hh:69
std::vector< AutoLoadPlugin > fAutoPluginsLib
Definition: QDll.hh:70
void SetAutoLoad(const bool autoload)
Definition: QDll.hh:56
bool fFirstLoadCall
Definition: QDll.hh:73
QError Init(const std::string &pluginlist, const std::string &pluginPrefix)
Definition: QDll.cc:58
const char * err
Definition: QDll.hh:36
void * h
Definition: QDll.hh:35
QError GetSymbol(void **, const char *sym_name)
Definition: QDll.cc:28
QDLLManager(const char *fname, const bool autoload=false)
Definition: QDll.cc:10
const char * LastError()
Definition: QDll.hh:29
virtual ~QDLLManager()
Definition: QDll.cc:21
error class with error type and description
Definition: QError.hh:115