24 #ifndef __DYNAMIC_LIBRARY_LOADER_H__
25 #define __DYNAMIC_LIBRARY_LOADER_H__
27 #include <boost/shared_ptr.hpp>
28 #include <boost/function.hpp>
30 #include <Safir/Utilities/Internal/VisibilityHelpers.h>
32 #ifdef lluf_utils_EXPORTS
33 # define LLUF_UTILS_API SAFIR_HELPER_DLL_EXPORT
35 # define LLUF_UTILS_API SAFIR_HELPER_DLL_IMPORT
36 # define SAFIR_LIBRARY_NAME "lluf_utils"
37 # include <Safir/Utilities/Internal/AutoLink.h>
39 #define LLUF_UTILS_LOCAL SAFIR_HELPER_DLL_LOCAL
72 void Load(
const std::string& libraryName,
73 const bool unloadOnDestruction,
74 const bool global =
false);
90 void Load(
const std::string& libraryName,
91 const std::string& path,
92 const bool unloadOnDestruction,
93 const bool global =
false);
125 return reinterpret_cast<T*
>(GetFunctionInternal(functionName));
128 void * GetFunctionInternal(
const std::string& functionName);
131 #pragma warning (push)
132 #pragma warning (disable: 4251)
136 boost::shared_ptr<Impl> m_impl;
139 #pragma warning (pop)
142 bool m_unloadOnDestruction;
This class provides a simple wrapper around dynamic loading functionality of the operating system...
Definition: DynamicLibraryLoader.h:51
This namespace contains all the functionality and definitions of the SAFIR SDK.
Definition: Backdoor.h:30
T * GetFunction(const std::string &functionName)
Find a function in the library.
Definition: DynamicLibraryLoader.h:123
#define LLUF_UTILS_API
Definition: DynamicLibraryLoader.h:35