ERC CISST - cisst software

osaDynamicLoader Class Reference
[OS Abstraction]

#include <osaDynamicLoader.h>

Inheritance diagram for osaDynamicLoader:

Inheritance graph
[legend]
Collaboration diagram for osaDynamicLoader:

Collaboration graph
[legend]
List of all members.

Detailed Description

Dynamically load a shared library file.

This class is used to dynamically load a shared library file. If a path is specified, the library file must exist on that path; otherwise, the "standard" library paths are used.

This class should be used to dynamically load a library file if it contains classes that are derived from cmnGenericObject, assuming that they are set up for dynamic creation (e.g., CMN_DYNAMIC_CREATION flag used with CMN_DECLARE_SERVICES). For example, if the class "derivedClass" exists in a library file with the same name, the file can be dynamically loaded and a new instance created as follows:

      osaDynamicLoader dload;
      dload.Load("derivedClass");
      cmnGenericObject *obj = cmnObjectRegister::Instance()->Create("derivedClass");
Note that dynamic_cast can be used to cast obj up the hierarchy.

Definition at line 56 of file osaDynamicLoader.h.

Public Member Functions

Protected Attributes


Constructor & Destructor Documentation

osaDynamicLoader::osaDynamicLoader (  )  [inline]

Default constructor. Does nothing.

Definition at line 63 of file osaDynamicLoader.h.

virtual osaDynamicLoader::~osaDynamicLoader (  )  [inline, virtual]

Destructor. Does not unload library in case any objects created from within the library still exist. To unload library, call Unload().

Definition at line 67 of file osaDynamicLoader.h.


Member Function Documentation

bool osaDynamicLoader::Load ( const char *  file,
const char *  path = 0 
)

Dynamically load the specified shared library.

Parameters:
file Name of shared library file to load (do not include extension)
path Path to file (0 -> use default library load paths)
Returns:
true if file successfully loaded; false otherwise

void osaDynamicLoader::UnLoad (  ) 

Unload the shared library file (if supported by operating system).


The documentation for this class was generated from the following file:
erc-cisst-devel<at>lists.johnshopkins.edu