CppUnit project page FAQ

DynamicLibraryManager.h
Go to the documentation of this file.
1 #ifndef CPPUNIT_PLUGIN_DYNAMICLIBRARYMANAGER_H
2 #define CPPUNIT_PLUGIN_DYNAMICLIBRARYMANAGER_H
3 
4 #include <cppunit/Portability.h>
5 #include <string>
6 
7 #if !defined(CPPUNIT_NO_TESTPLUGIN)
8 
10 
11 
35 {
36 public:
37  typedef void *Symbol;
38  typedef void *LibraryHandle;
39 
45  DynamicLibraryManager( const std::string &libraryFileName );
46 
49 
55  Symbol findSymbol( const std::string &symbol );
56 
57 private:
63  void loadLibrary( const std::string &libraryName );
64 
69  void releaseLibrary();
70 
77  LibraryHandle doLoadLibrary( const std::string &libraryName );
78 
86 
93  Symbol doFindSymbol( const std::string &symbol );
94 
103  std::string getLastErrorDetail() const;
104 
107 
109  void operator =( const DynamicLibraryManager &copy );
110 
111 private:
113  std::string m_libraryName;
114 };
115 
116 
118 
119 #endif // !defined(CPPUNIT_NO_TESTPLUGIN)
120 
121 #endif // CPPUNIT_PLUGIN_DYNAMICLIBRARYMANAGER_H
#define CPPUNIT_NS_END
Definition: Portability.h:106
#define CPPUNIT_NS_BEGIN
Definition: Portability.h:105
Manages dynamic libraries.
Definition: DynamicLibraryManager.h:35
~DynamicLibraryManager()
Releases the loaded library..
Definition: DynamicLibraryManager.cpp:17
void releaseLibrary()
Definition: DynamicLibraryManager.cpp:64
void loadLibrary(const std::string &libraryName)
Definition: DynamicLibraryManager.cpp:44
std::string m_libraryName
Definition: DynamicLibraryManager.h:113
LibraryHandle m_libraryHandle
Definition: DynamicLibraryManager.h:112
void * LibraryHandle
Definition: DynamicLibraryManager.h:38
Symbol findSymbol(const std::string &symbol)
Returns a pointer on the specified symbol exported by the library.
Definition: DynamicLibraryManager.cpp:24
DynamicLibraryManager(const std::string &libraryFileName)
Loads the specified library.
Definition: DynamicLibraryManager.cpp:9
void operator=(const DynamicLibraryManager &copy)
Prevents the use of the copy operator.
void * Symbol
Definition: DynamicLibraryManager.h:37
Symbol doFindSymbol(const std::string &symbol)
DynamicLibraryManager(const DynamicLibraryManager &copy)
Prevents the use of the copy constructor.
LibraryHandle doLoadLibrary(const std::string &libraryName)
std::string getLastErrorDetail() const

Send comments to:
CppUnit Developers