#include <unixstl/dl/module.hpp>
Public Types | |
typedef void * | module_handle_type |
The handle type. | |
typedef module | class_type |
The class type. | |
typedef void * | proc_pointer_type |
The entry point type. | |
Public Member Functions | |
Construction | |
module (char const *moduleName, int mode=RTLD_NOW) | |
Constructs by loading the named module. | |
module (wchar_t const *moduleName, int mode=RTLD_NOW) | |
Constructs by loading the named module. | |
template<typename S> | |
module (S const &moduleName, int mode=RTLD_NOW) | |
Constructs by loading the named module. | |
module (module_handle_type hmodule) | |
Constructs by taking ownership of the given handle. | |
~module () throw () | |
Closes the module handle. | |
Operations | |
void | unload () |
Closes the module handle. | |
module_handle_type | detach () |
Yields the module handle to the caller. | |
Lookup Operations | |
proc_pointer_type | get_symbol (char const *symbolName) |
Looks up the named symbol. | |
template<typename F> | |
proc_pointer_type | get_symbol (char const *symbolName, F &f) |
Looks up a named symbol into a typed function pointer variable. | |
Accessors | |
module_handle_type | get_module_handle () const |
Provides access to the underlying module handle. | |
Static Public Member Functions | |
Static operations | |
static module_handle_type | load (char const *moduleName, int mode=RTLD_NOW) |
Loads the named module, returning its handle, which the caller must close with unload(). | |
static module_handle_type | load (wchar_t const *moduleName, int mode=RTLD_NOW) |
Loads the named module, returning its handle, which the caller must close with unload(). | |
template<typename S> | |
static module_handle_type | load (S const &moduleName, int mode=RTLD_NOW) |
Loads the named module, returning its handle, which the caller must close with unload(). | |
static void | unload (module_handle_type hmodule) |
Closes the given module handle. | |
static proc_pointer_type | get_symbol (module_handle_type hmodule, char const *symbolName) |
Looks up the named symbol from the given module. | |
template<typename F> | |
static proc_pointer_type | get_symbol (module_handle_type hmodule, char const *symbolName, F &f) |
Looks up a named symbol from the given module into a typed function pointer variable. |
typedef void* module_handle_type |
The handle type.
typedef module class_type |
The class type.
typedef void* proc_pointer_type |
The entry point type.
module | ( | char const * | moduleName, | |
int | mode = RTLD_NOW | |||
) | [explicit] |
Constructs by loading the named module.
moduleName | The file name of the executable module to be loaded. | |
mode | The loading mode (as used by dlopen() ). |
module | ( | wchar_t const * | moduleName, | |
int | mode = RTLD_NOW | |||
) | [explicit] |
Constructs by loading the named module.
moduleName | The file name of the executable module to be loaded. | |
mode | The loading mode (as used by dlopen() ). |
module | ( | S const & | moduleName, | |
int | mode = RTLD_NOW | |||
) | [inline, explicit] |
Constructs by loading the named module.
moduleName | The file name of the executable module to be loaded. The argument may be of any type for which the string access shim stlsoft::c_str_ptr is defined. | |
mode | The loading mode (as used by dlopen() ). |
module | ( | module_handle_type | hmodule | ) | [explicit] |
Constructs by taking ownership of the given handle.
static module_handle_type load | ( | char const * | moduleName, | |
int | mode = RTLD_NOW | |||
) | [static] |
static module_handle_type load | ( | wchar_t const * | moduleName, | |
int | mode = RTLD_NOW | |||
) | [static] |
static module_handle_type load | ( | S const & | moduleName, | |
int | mode = RTLD_NOW | |||
) | [inline, static] |
Loads the named module, returning its handle, which the caller must close with unload().
moduleName | The file name of the executable module to be loaded. The argument may be of any type for which the string access shim stlsoft::c_str_ptr is defined. | |
mode | The loading mode (as used by dlopen() ). |
References unixstl::c_str_ptr(), and stlsoft_ns_qual.
static void unload | ( | module_handle_type | hmodule | ) | [static] |
Closes the given module handle.
static proc_pointer_type get_symbol | ( | module_handle_type | hmodule, | |
char const * | symbolName | |||
) | [static] |
Looks up the named symbol from the given module.
static proc_pointer_type get_symbol | ( | module_handle_type | hmodule, | |
char const * | symbolName, | |||
F & | f | |||
) | [inline, static] |
Looks up a named symbol from the given module into a typed function pointer variable.
void unload | ( | ) |
Closes the module handle.
module_handle_type detach | ( | ) |
Yields the module handle to the caller.
proc_pointer_type get_symbol | ( | char const * | symbolName | ) |
Looks up the named symbol.
proc_pointer_type get_symbol | ( | char const * | symbolName, | |
F & | f | |||
) | [inline] |
Looks up a named symbol into a typed function pointer variable.
module_handle_type get_module_handle | ( | ) | const |