PTLib Version 2.12.9

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Protected Attributes | List of all members
PDynaLink Class Reference

A dynamic link library. More...

`#include <dynalink.h>`

Inheritance diagram for PDynaLink:
[legend]
Collaboration diagram for PDynaLink:
[legend]

## Public Member Functions
Construction
| PDynaLink ()
| Create a new dyna-link, loading the specified module. More...
| PDynaLink (const PString &name)
| Create a new dyna-link, loading the specified module. More...
| ~PDynaLink ()
| Destroy the dyna-link, freeing the module. More...
Public Member Functions inherited from PObject
unsigned | GetTraceContextIdentifier () const
| Get PTRACE context identifier. More...
void | SetTraceContextIdentifier (unsigned id)
void | GetTraceContextIdentifier (PObject &obj)
void | GetTraceContextIdentifier (PObject *obj)
void | SetTraceContextIdentifier (const PObject &obj)
void | SetTraceContextIdentifier (const PObject *obj)
virtual | ~PObject ()
virtual PObject * | Clone () const
| Create a copy of the class on the heap. More...
template<class CLS >
CLS * | CloneAs () const
| As for Clone() but converts to specified type. More...
virtual PINDEX | HashFunction () const
| This function yields a hash value required by the `PDictionary` class. More...
virtual Comparison | Compare (const PObject &obj) const
| Compare the two objects and return their relative rank. More...
virtual Comparison | CompareObjectMemoryDirect (const PObject &obj) const
| Determine the byte wise comparison of two objects. More...
bool | operator== (const PObject &obj) const
| Compare the two objects. More...
bool | operator!= (const PObject &obj) const
| Compare the two objects. More...
bool | operator< (const PObject &obj) const
| Compare the two objects. More...
bool | operator> (const PObject &obj) const
| Compare the two objects. More...
bool | operator<= (const PObject &obj) const
| Compare the two objects. More...
bool | operator>= (const PObject &obj) const
| Compare the two objects. More...
virtual const char * | GetClass (unsigned ancestor=0) const
| Get the current dynamic type of the object instance. More...
PBoolean | IsClass (const char *cls) const
virtual PBoolean | InternalIsDescendant (const char *clsName) const
| Determine if the dynamic type of the current instance is a descendent of the specified class. More...
__inline const PObject * | PTraceObjectInstance () const
virtual void | PrintOn (ostream &strm) const
| Output the contents of the object to the stream. More...
virtual void | ReadFrom (istream &strm)
| Input the contents of the object from the stream. More...

## Protected Attributes
PString | m_lastError
void * | dllHandle
PString | name
Protected Attributes inherited from PObject
unsigned | m_traceContextIdentifier

## Load/Unload function
virtual PBoolean | Open (const PString &name)
virtual void | Close ()
| Close the dyna-link library. More...
virtual PBoolean | IsLoaded () const
| Dyna-link module is loaded and may be accessed. More...
virtual PString | GetName (PBoolean full=false) const
| Get the name of the loaded library. More...
static PString | GetExtension ()
| Get the extension used by this platform for dynamic link libraries. More...

## DLL entry point functions
typedef void(* | Function )()
| Primitive pointer to a function for a dynamic link module. More...
PBoolean | GetFunction (PINDEX index, Function &func)
| Get a pointer to the function in the dynamically loadable module. More...
PBoolean | GetFunction (const PString &name, Function &func)
| Get a pointer to the function in the dynamically loadable module. More...
const PString & | GetLastError () const

## Additional Inherited Members
Public Types inherited from PObject
enum | Comparison { LessThan = -1, EqualTo = 0, GreaterThan = 1 }
| Result of the comparison operation performed by the `Compare()` function. More...
Static Public Member Functions inherited from PObject
static Comparison | InternalCompareObjectMemoryDirect (const PObject *obj1, const PObject *obj2, PINDEX size)
| Internal function caled from CompareObjectMemoryDirect() More...
static const char * | Class ()
| Get the name of the class as a C string. More...
static __inline const PObject * | PTraceObjectInstance (const char *)
static __inline const PObject * | PTraceObjectInstance (const PObject *obj)
Protected Member Functions inherited from PObject
| PObject ()
| Constructor for PObject, made protected so cannot ever create one on its own. More...
Friends inherited from PObject

## 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 | ( | PINDEX | index,
|  | Function & | func
| ) |  |

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

Returns
  true if function was found.

Parameters

  index | Ordinal number of the function to get.
  func | Refrence to point to function to get.

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

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

Returns
  true if function was found.Return OS error code for last operation

Parameters

  name | Name of the function to get.
  func | Refrence to point to function to get.

const PString& PDynaLink::GetLastError | ( |  | ) | const
| inline

References m_lastError.

virtual PString PDynaLink::GetName | ( | PBoolean | full = `false` | ) | const
| virtual

Get the name of the loaded library.

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

If `full` is true 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::m_lastError
| protected

Referenced by GetLastError().

PString PDynaLink::name
| protected

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

- dynalink.h