PTLib
Version 2.14.3
|
A dynamic link library. More...
#include <dynalink.h>
Classes | |
class | EntryPoint |
Helper class for creating members to functions in the DLL. More... | |
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... | |
![]() | |
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 * | m_dll |
PString | m_name |
![]() | |
unsigned | m_traceContextIdentifier |
Load/Unload function | |
virtual PBoolean | Open (const PString &names) |
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, bool compulsory=false) |
Get a pointer to the function in the dynamically loadable module. More... | |
PBoolean | GetFunction (const PString &name, Function &func, bool compulsory=false) |
Get a pointer to the function in the dynamically loadable module. More... | |
const PString & | GetLastError () const |
Additional Inherited Members | |
![]() | |
enum | Comparison { LessThan = -1, EqualTo = 0, GreaterThan = 1 } |
Result of the comparison operation performed by the Compare() function. More... | |
![]() | |
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) |
![]() | |
PObject () | |
Constructor for PObject, made protected so cannot ever create one on its own. More... | |
![]() |
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"
typedef void(* PDynaLink::Function)() |
Primitive pointer to a function for a dynamic link module.
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.
name | Name of the dynamically loadable module. |
PDynaLink::~PDynaLink | ( | ) |
Destroy the dyna-link, freeing the module.
|
virtual |
Close the dyna-link library.
|
static |
Get the extension used by this platform for dynamic link libraries.
Get a pointer to the function in the dynamically loadable module.
index | Ordinal number of the function to get. |
func | Reference to point to function to get. |
compulsory | if true, close DLL if not present |
Referenced by PDynaLink::EntryPoint< FuncPtr >::EntryPoint().
Get a pointer to the function in the dynamically loadable module.
name | Name of the function to get. |
func | Reference to point to function to get. |
compulsory | if true, close DLL if not present |
|
inline |
References m_lastError.
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.
full | Flag for full or short path name |
|
virtual |
Dyna-link module is loaded and may be accessed.
names | Name(s) of the dynamically loadable module. |
|
protected |
|
protected |
Referenced by GetLastError().
|
protected |