PDynaLink Class Reference

#include <dynalink.h>

Inheritance diagram for PDynaLink:

PObject List of all members.

DLL entry point functions

typedef void(*) Function ()
 Primitive pointer to a function for a dynamic link module.
PBoolean GetFunction (PINDEX index, Function &func)
PBoolean GetFunction (const PString &name, Function &func)

Load/Unload function

virtual PBoolean Open (const PString &name)
virtual void Close ()
virtual PBoolean IsLoaded () const
virtual PString GetName (PBoolean full=PFalse) const
static PString GetExtension ()

Public Member Functions

Construction
 PDynaLink ()
 PDynaLink (const PString &name)
 ~PDynaLink ()

Protected Attributes

void * dllHandle
PString name

Detailed Description

A dynamic link library. This allows the loading at run time of code modules for use by an application. MacOS X/darwin supports plugins linked as object file image (linked with the -bundle arg to ld) or dynamic libraries (-dynamic). On all Unix platforms the file name should end in ".so". On Windows the filename should end in ".dll"


Member Typedef Documentation

typedef void(*) PDynaLink::Function()

Primitive pointer to a function for a dynamic link module.


Constructor & Destructor Documentation

PDynaLink::PDynaLink (  ) 

Create a new dyna-link, loading the specified module. The first, parameterless, form does load a library.

PDynaLink::PDynaLink ( const PString name  ) 

Create a new dyna-link, loading the specified module. The first, parameterless, form does load a library.

Parameters:
name  Name of the dynamically loadable module.

PDynaLink::~PDynaLink (  ) 

Destroy the dyna-link, freeing the module.


Member Function Documentation

virtual void PDynaLink::Close (  )  [virtual]

Close the dyna-link library.

static PString PDynaLink::GetExtension (  )  [static]

Get the extension used by this platform for dynamic link libraries.

Returns:
String for file extension.

PBoolean PDynaLink::GetFunction ( const PString name,
Function func 
)

Get a pointer to the function in the dynamically loadable module.

Returns:
PTrue if function was found.
Parameters:
name  Name of the function to get.
func  Refrence to point to function to get.

PBoolean PDynaLink::GetFunction ( PINDEX  index,
Function func 
)

Get a pointer to the function in the dynamically loadable module.

Returns:
PTrue if function was found.
Parameters:
index  Ordinal number of the function to get.
func  Refrence to point to function to get.

virtual PString PDynaLink::GetName ( PBoolean  full = PFalse  )  const [virtual]

Get the name of the loaded library. If the library is not loaded this may return an empty string.

If full# is PTrue then the full pathname of the library is returned otherwise only the name part is returned.

Returns:
String for the library name.
Parameters:
full  Flag for full or short path name

virtual PBoolean PDynaLink::IsLoaded (  )  const [virtual]

Dyna-link module is loaded and may be accessed.

virtual PBoolean PDynaLink::Open ( const PString name  )  [virtual]

Parameters:
name  Name of the dynamically loadable module.


Member Data Documentation

void* PDynaLink::dllHandle [protected]

PString PDynaLink::name [protected]


The documentation for this class was generated from the following file:
Generated on Thu May 27 01:36:48 2010 for PTLib by  doxygen 1.4.7