Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
PLMD::DLLoader Class Reference

#include <DLLoader.h>

Public Member Functions

 DLLoader ()
 Default constructor. More...
 ~DLLoader ()
 Cleanup. More...
const std::string & error ()
 Returns the last error in dynamic loader. More...
void * load (const std::string &)
 Load a library, returning its handle. More...

Static Public Member Functions

static bool installed ()
 Returns true if the dynamic loader is available (on some systems it may not). More...

Private Member Functions

 DLLoader (const DLLoader &)=delete
 Deleted copy constructor. More...
DLLoaderoperator= (const DLLoader &)=delete
 Deleted assignment. More...

Private Attributes

std::stack< void * > handles
std::string lastError

Detailed Description

Class taking care of dynamic loading. It contains wrappers to the dlopen() routine. It is designed so that when an object of this class goes out of scope all the libraries loaded by it are unloaded. In this manner, loaded libraries are automatically unloaded at the end of execution. Libraries are loaded with RTDL_LOCAL option, which means that they are not accessible from outside. Still, if they contain self-registering classes, they will register themselves to the ActionRegister object.

Constructor & Destructor Documentation

◆ DLLoader() [1/2]

PLMD::DLLoader::DLLoader ( const DLLoader )

Deleted copy constructor.

◆ DLLoader() [2/2]

PLMD::DLLoader::DLLoader ( )

Default constructor.

◆ ~DLLoader()

PLMD::DLLoader::~DLLoader ( )


Member Function Documentation

◆ error()

const std::string & PLMD::DLLoader::error ( )

Returns the last error in dynamic loader.

◆ installed()

bool PLMD::DLLoader::installed ( )

Returns true if the dynamic loader is available (on some systems it may not).

◆ load()

void * PLMD::DLLoader::load ( const std::string &  s)

Load a library, returning its handle.

◆ operator=()

DLLoader& PLMD::DLLoader::operator= ( const DLLoader )

Deleted assignment.

Member Data Documentation

◆ handles

std::stack<void*> PLMD::DLLoader::handles

◆ lastError

std::string PLMD::DLLoader::lastError

The documentation for this class was generated from the following files: