NAME

ACE_DLL - Provides an abstract interface for handling various DLL operations.

SYNOPSIS

#include <ace/DLL.h>

class ACE_DLL { public: ACE_DLL (int close_on_destruction = 1); ACE_DLL ( const ASYS_TCHAR *dll_name, int open_mode = ACE_DEFAULT_SHLIB_MODE, int close_on_destruction = 1 ); int open ( const ASYS_TCHAR *dll_name, int open_mode = ACE_DEFAULT_SHLIB_MODE, int close_on_destruction = 1 ); int close (void); ~ACE_DLL (void); void *symbol (const char *symbol_name); ASYS_TCHAR *error (void); ACE_SHLIB_HANDLE get_handle (int become_owner = 0); int set_handle ( ACE_SHLIB_HANDLE handle, int close_on_destruction = 1 ); private: ACE_SHLIB_HANDLE handle_; int close_on_destruction_; inline ACE_UNIMPLEMENTED_FUNC (ACE_DLL (const ACE_DLL &)); };

DESCRIPTION

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.

Initialization and termination methods.

ACE_DLL (int close_on_destruction = 1);

ACE_DLL (
    const ASYS_TCHAR *dll_name,
    int open_mode = ACE_DEFAULT_SHLIB_MODE,
    int close_on_destruction = 1
    );

int open (
    const ASYS_TCHAR *dll_name,
    int open_mode = ACE_DEFAULT_SHLIB_MODE,
    int close_on_destruction = 1
    );

int close (void);

~ACE_DLL (void);

void *symbol (const char *symbol_name);

ASYS_TCHAR *error (void);

ACE_SHLIB_HANDLE get_handle (int become_owner = 0);

int set_handle (
    ACE_SHLIB_HANDLE handle,
    int close_on_destruction = 1
    );

Disallow copying and assignment since we don't handle these.

inline ACE_UNIMPLEMENTED_FUNC (ACE_DLL (const ACE_DLL &));

AUTHOR

Kirthika Parameswaran kirthika@cs.wustl.edu

LIBRARY

ace