-
Janik Zikovsky authoredJanik Zikovsky authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
LibraryWrapper.cpp 1.23 KiB
#include "MantidKernel/DllOpen.h"
#include "MantidKernel/LibraryWrapper.h"
namespace Mantid
{
namespace Kernel
{
/// Constructor
LibraryWrapper::LibraryWrapper() :
module(0)
{}
/// Destructor
LibraryWrapper::~LibraryWrapper()
{
//Close lib
if (module)
{
DllOpen::CloseDll(module);
module = 0;
}
}
/** Opens a DLL.
* @param libName :: The name of the file to open (not including the lib/so/dll).
* @return True if DLL is opened or already open.
*/
bool LibraryWrapper::OpenLibrary(const std::string& libName)
{
if (!module)
{
//Load dynamically loaded library
module = DllOpen::OpenDll(libName);
if (!module)
{
return false;
}
}
return true;
}
/** Opens a DLL.
* @param libName :: The name of the file to open (not including the lib/so/dll).
* @param filePath :: The filepath to the directory where the library is.
* @return True if DLL is opened or already open
*/
bool LibraryWrapper::OpenLibrary(const std::string& libName,
const std::string& filePath)
{
if (!module)
{
//Load dynamically loaded library
module = DllOpen::OpenDll(libName, filePath);
if (!module)
{
return false;
}
}
return true;
}
} // namespace Kernel
} // namespace Mantid