UCommon
ost::DSO Class Reference

The DSO dynamic loader class is used to load object files. More...

#include <file.h>

Public Member Functions

 DSO (const char *filename)
 Construct and load a DSO object file.
 
 DSO (const char *filename, bool resolve)
 
const char * getError (void) const
 Retrieve error indicator associated with DSO failure.
 
bool isValid (void)
 See if DSO object is valid.
 
addr_t operator[] (const char *sym)
 Lookup a symbol in the loaded file.
 
virtual ~DSO ()
 Detach a DSO object from running memory.
 

Static Public Member Functions

static void dynunload (void)
 
static DSOgetObject (const char *name)
 Find a specific DSO object by filename.
 
static void setDebug (void)
 Install debug handler...
 

Protected Member Functions

void loader (const char *filename, bool resolve)
 

Detailed Description

The DSO dynamic loader class is used to load object files.

On elf based systems this is typically done with dlopen. A dummy stub class is generated for non-dl capable systems.

Author
David Sugar dyfet.nosp@m.@ost.nosp@m.el.co.nosp@m.m

Dynamic class file loader.

Definition at line 808 of file file.h.

Constructor & Destructor Documentation

◆ DSO() [1/2]

ost::DSO::DSO ( const char * filename)
inline

Construct and load a DSO object file.

Parameters
filenamepathname of object file to load.

Definition at line 832 of file file.h.

◆ DSO() [2/2]

ost::DSO::DSO ( const char * filename,
bool resolve )
inline

Definition at line 836 of file file.h.

Member Function Documentation

◆ getError()

const char * ost::DSO::getError ( void ) const
inline

Retrieve error indicator associated with DSO failure.

This is often used in catch handlers.

Definition at line 844 of file file.h.

◆ getObject()

static DSO * ost::DSO::getObject ( const char * name)
static

Find a specific DSO object by filename.

Parameters
nameof DSO object file (partial).

◆ isValid()

bool ost::DSO::isValid ( void )

See if DSO object is valid.

Returns
true if valid.

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