PDynaLink Class Reference

#include <dynalink.h>

Inheritance diagram for PDynaLink:
PObject

List of all members.

Public Member Functions

Construction

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

Protected Attributes

void * dllHandle
PString name

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 ()

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.

Referenced by PLoadPluginDirectory().

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 files:

Generated by  doxygen 1.6.2