ost::DSO Class Reference

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

#include <file.h>

Collaboration diagram for ost::DSO:
Collaboration graph
[legend]

Public Member Functions

 DSO (const char *filename, bool resolve)
 DSO (const char *filename)
 Construct and load a DSO object file.
const char * getError (void)
 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@ostel.com> Dynamic class file loader.

Definition at line 781 of file file.h.


Constructor & Destructor Documentation

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

Construct and load a DSO object file.

Parameters:
filename pathname of object file to load.

Definition at line 803 of file file.h.


Member Function Documentation

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

Retrieve error indicator associated with DSO failure.

This is often used in catch handlers.

Definition at line 813 of file file.h.

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

Find a specific DSO object by filename.

Parameters:
name of DSO object file (partial).
bool ost::DSO::isValid ( void   ) 

See if DSO object is valid.

Returns:
true if valid.
static void ost::DSO::setDebug ( void   )  [static]

Install debug handler.

..


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

Generated on 24 Sep 2014 for ucommon by  doxygen 1.6.1