Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Related Pages

# ACE_DLL Class Reference

Provides an abstract interface for handling various DLL operations. More...

`#include <DLL.h>`

List of all members.

## 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.
| 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.
| ~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.
ACE_TCHAR* | error (void)
| Returns a pointer to a string explaining why <symbol> or <open> failed.
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.
## 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.
int | close_on_destruction_
| This flag keeps track of whether we should close the handle automatically when the destructor runs.

## Detailed Description

Provides an abstract interface for handling various DLL operations.

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.

## Constructor & Destructor Documentation

ACE_DLL::ACE_DLL ( | int close_on_destruction = 1 )`[inline]`

| Default constructor. By default, the <close> operation on the object will be invoked before it is destroyed.

ACE_DLL::ACE_DLL ( | const ACE_TCHAR * dll_name,
| int open_mode = ACE_DEFAULT_SHLIB_MODE,
| int close_on_destruction = 1 )

| 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.

ACE_DLL::~ACE_DLL ( | void )

| Called when the DLL object is destroyed -- invokes <close> if the <close_on_destruction> flag is set in the constructor or <open> method.

ACE_DLL::ACE_DLL ( | const ACE_DLL & )`[private]`

## Member Function Documentation

int ACE_DLL::close ( | void )

| Call to close the DLL object.

ACE_TCHAR * ACE_DLL::error ( | void )

| Returns a pointer to a string explaining why <symbol> or <open> failed.

ACE_SHLIB_HANDLE ACE_DLL::get_handle ( | int become_owner = 0 )

| Return the handle to the caller. If <become_owner> is non-0 then caller assumes ownership of the handle and the object won't call <close> when it goes out of scope, even if <close_on_destruction> is set.

int ACE_DLL::open ( | const ACE_TCHAR * dll_name,
| int open_mode = ACE_DEFAULT_SHLIB_MODE,
| int close_on_destruction = 1 )

| 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.

void ACE_DLL::operator= ( | const ACE_DLL & )`[private]`

int ACE_DLL::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.

void * ACE_DLL::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.

## Member Data Documentation

int ACE_DLL::close_on_destruction_`[private]`

| This flag keeps track of whether we should close the handle automatically when the destructor runs.

ACE_SHLIB_HANDLE ACE_DLL::handle_`[private]`

| This is a handle to the DLL.

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

- DLL.h
- DLL.cpp