Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef __opc_common_dynamic_library_h
00013 #define __opc_common_dynamic_library_h
00014
00015 #include <string>
00016
00017 namespace Common
00018 {
00019
00020 class DynamicLibrary
00021 {
00022 public:
00023 DynamicLibrary(const std::string& libraryPath);
00024 ~DynamicLibrary();
00025
00026 template <typename FuncType>
00027 FuncType Find(const std::string& funcName)
00028 {
00029 return reinterpret_cast<FuncType>(FindSymbol(funcName));
00030 }
00031
00032 private:
00033 void* FindSymbol(const std::string& funcName);
00034
00035 private:
00036 const std::string Path;
00037 void* Library;
00038 };
00039
00040 }
00041
00042 #endif // __opc_common_dynamic_library_h
00043