Skip to content
Snippets Groups Projects
LibraryWrapper.cpp 1.22 KiB
Newer Older
#include "MantidKernel/DllOpen.h"
#include "MantidKernel/LibraryWrapper.h"

namespace Mantid
{
namespace Kernel
{

/// Constructor
LibraryWrapper::LibraryWrapper() :
{}

/// 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;
    }
  }
}

/** 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,
  if (!module)
  {
    //Load dynamically loaded library
    module = DllOpen::OpenDll(libName, filePath);
    if (!module)
    {
      return false;
    }
  }
} // namespace Kernel
} // namespace Mantid