OW_NAMESPACE::SafeLibCreate< T > Class Template Reference

#include <OW_SafeLibCreate.hpp>

List of all members.

Public Types

typedef std::pair< IntrusiveReference<
T >, SharedLibraryRef
return_type
typedef SharedLibraryReference<
IntrusiveReference< T > > 
return_obj

Static Public Member Functions

static return_type loadAndCreate (String const &libname, String const &createFuncName, const LoggerRef &logger)
static return_obj loadAndCreateObject (String const &libname, String const &createFuncName, const LoggerRef &logger)
static T * create (SharedLibraryRef sl, String const &createFuncName, const LoggerRef &logger)

Private Types

typedef T *(* createFunc_t )()
typedef const char *(* versionFunc_t )()

Static Private Member Functions

static void theSignalHandler (int sig)

Static Private Attributes

static jmp_buf theLoaderBuf


Detailed Description

template<typename T>
class OW_NAMESPACE::SafeLibCreate< T >

Definition at line 61 of file OW_SafeLibCreate.hpp.


Member Typedef Documentation

template<typename T>
typedef T*(* OW_NAMESPACE::SafeLibCreate< T >::createFunc_t)() [private]
 

Definition at line 63 of file OW_SafeLibCreate.hpp.

template<typename T>
typedef SharedLibraryReference<IntrusiveReference<T> > OW_NAMESPACE::SafeLibCreate< T >::return_obj
 

Definition at line 67 of file OW_SafeLibCreate.hpp.

template<typename T>
typedef std::pair<IntrusiveReference<T>, SharedLibraryRef> OW_NAMESPACE::SafeLibCreate< T >::return_type
 

Definition at line 66 of file OW_SafeLibCreate.hpp.

template<typename T>
typedef const char*(* OW_NAMESPACE::SafeLibCreate< T >::versionFunc_t)() [private]
 

Definition at line 64 of file OW_SafeLibCreate.hpp.


Member Function Documentation

template<typename T>
static T* OW_NAMESPACE::SafeLibCreate< T >::create SharedLibraryRef  sl,
String const &  createFuncName,
const LoggerRef logger
[inline, static]
 

Definition at line 108 of file OW_SafeLibCreate.hpp.

References logger, OW_LOG_DEBUG, OW_LOG_ERROR, OW_LOG_INFO, OW_NAMESPACE::OW_SIGABRT, OW_NAMESPACE::OW_SIGFPE, and OW_NAMESPACE::OW_SIGSEGV.

Referenced by OW_NAMESPACE::SafeLibCreate< T >::loadAndCreate().

template<typename T>
static return_type OW_NAMESPACE::SafeLibCreate< T >::loadAndCreate String const &  libname,
String const &  createFuncName,
const LoggerRef logger
[inline, static]
 

Definition at line 70 of file OW_SafeLibCreate.hpp.

References OW_NAMESPACE::SafeLibCreate< T >::create(), OW_NAMESPACE::SharedLibraryLoader::createSharedLibraryLoader(), OW_NAMESPACE::IntrusiveReference< T >::isNull(), and logger.

template<typename T>
static return_obj OW_NAMESPACE::SafeLibCreate< T >::loadAndCreateObject String const &  libname,
String const &  createFuncName,
const LoggerRef logger
[inline, static]
 

Definition at line 89 of file OW_SafeLibCreate.hpp.

References OW_NAMESPACE::SharedLibraryLoader::createSharedLibraryLoader(), logger, and OW_LOG_DEBUG.

template<typename T>
static void OW_NAMESPACE::SafeLibCreate< T >::theSignalHandler int  sig  )  [inline, static, private]
 

Definition at line 195 of file OW_SafeLibCreate.hpp.


Member Data Documentation

template<typename T>
jmp_buf OW_NAMESPACE::SafeLibCreate< T >::theLoaderBuf [static, private]
 

Definition at line 188 of file OW_SafeLibCreate.hpp.


The documentation for this class was generated from the following file:
Generated on Thu Feb 9 09:14:22 2006 for openwbem by  doxygen 1.4.6