#include <DLL.h>
Public Methods | |
ACE_DLL (int close_on_destruction=1) | |
Default constructor. By default, the <close> operation on the object will be invoked before it is destroyed. More... | |
ACE_DLL (const ACE_TCHAR *dll_name, int open_mode=ACE_DEFAULT_SHLIB_MODE, int close_on_destruction=1) | |
int | open (const ACE_TCHAR *dll_name, int open_mode=ACE_DEFAULT_SHLIB_MODE, int close_on_destruction=1) |
int | close (void) |
Call to close the DLL object. More... | |
~ACE_DLL (void) | |
void * | symbol (const ACE_TCHAR *symbol_name) |
If <symbol_name> is in the symbol table of the DLL a pointer to the <symbol_name> is returned. Otherwise, returns 0. More... | |
ACE_TCHAR * | error (void) |
Returns a pointer to a string explaining why <symbol> or <open> failed. More... | |
ACE_SHLIB_HANDLE | get_handle (int become_owner=0) |
int | set_handle (ACE_SHLIB_HANDLE handle, int close_on_destruction=1) |
Set the handle for the DLL object. By default, the <close> operation on the object will be invoked before it is destroyed. More... | |
Private Methods | |
ACE_DLL (const ACE_DLL &) | |
void | operator= (const ACE_DLL &) |
Private Attributes | |
ACE_SHLIB_HANDLE | handle_ |
This is a handle to the DLL. More... | |
int | close_on_destruction_ |
This flag keeps track of whether we should close the handle automatically when the destructor runs. More... |
This class is an wrapper over the various methods for utilizing a dynamically linked library (DLL), which is called a shared library on some platforms. Operations <open>, <close>, and <symbol> have been implemented to help opening/closing and extracting symbol information from a DLL, respectively.
|
Default constructor. By default, the <close> operation on the object will be invoked before it is destroyed.
|
|
This constructor opens and dynamically links <dll_name>. The default mode is <RTLD_LAZY>, which loads identifier symbols but not the symbols for functions, which are loaded dynamically on-demand. Other supported modes include: <RTLD_NOW>, which performs all necessary relocations when <dll_name> is first loaded and <RTLD_GLOBAL>, which makes symbols available for relocation processing of any other DLLs. |
|
Called when the DLL object is destroyed -- invokes <close> if the <close_on_destruction> flag is set in the constructor or <open> method. |
|
|
|
Call to close the DLL object.
|
|
Returns a pointer to a string explaining why <symbol> or <open> failed.
|
|
Return the handle to the caller. If <become_owner> is non-0 then caller assumes ownership of the handle and the <ACE_DLL> object won't call <close> when it goes out of scope, even if <close_on_destruction> is set. |
|
This method opens and dynamically links <dll_name>. The default mode is <RTLD_LAZY>, which loads identifier symbols but not the symbols for functions, which are loaded dynamically on-demand. Other supported modes include: <RTLD_NOW>, which performs all necessary relocations when <dll_name> is first loaded and <RTLD_GLOBAL>, which makes symbols available for relocation processing of any other DLLs. Returns -1 on failure and 0 on success. |
|
|
|
Set the handle for the DLL object. By default, the <close> operation on the object will be invoked before it is destroyed.
|
|
If <symbol_name> is in the symbol table of the DLL a pointer to the <symbol_name> is returned. Otherwise, returns 0.
|
|
This flag keeps track of whether we should close the handle automatically when the destructor runs.
|
|
This is a handle to the DLL.
|