TLibAssoc Class Reference

class TLibAssoc : public TLibAssocBase

Associates a dynamically loadable DLL and an instance of a class that, typically, will have been created using the ordinal 1 function of that DLL.

An object of this type is useful when cleanup behaviour requires that a class instance be deleted and the associated DLL be closed.

The DLL is expected to be already open when the TLibAssoc object is created.

Inherits from

Constructor & Destructor Documentation

TLibAssoc()

TLibAssoc ( ) [inline]

Default constructor.

An association between a DLL and a class instance can be made after construction using the Set() function.

TLibAssoc(const RLibrary &, T *)

TLibAssoc ( const RLibrary & aLib,
T * aClass
) [inline]

Constructs the object taking the specified DLL and an instance of the specified class.

Parameters

const RLibrary & aLib A reference to a DLL that has already been opened.
T * aClass A pointer to an object to be associated with the DLL. Typically, this object will have been created using the ordinal 1 function from that DLL.

Member Functions Documentation

Cleanup(TAny *)

void Cleanup ( TAny * aThis ) [private, static]

The cleanup operation.

The implementation deletes the class instance and calls Close() on the associated DLL.

Note that this function is internal and is not intended for use; it is documented for completeness.

Parameters

TAny * aThis

Ptr()

T * Ptr ( ) [inline]

Gets a pointer to the class instance.

PtrC()

const T * PtrC ( ) const [inline]

Gets a pointer to the const class instance.

Set(const RLibrary &, T *)

void Set ( const RLibrary & aLib,
T * aClass
) [inline]

Makes an association between the specified DLL and an instance of the specified class.

Parameters

const RLibrary & aLib A reference to a DLL that has already been opened.
T * aClass A pointer to an object to be associated with the DLL. Typically, this object will have been created using the ordinal 1 function from that DLL.

Unload()

void Unload ( ) [inline]

Deletes the class instance and calls Close() on the associated DLL.

RLibrary::Close

operator T *()

operator T * ( ) [inline]

Conversion operator.

Invoked by the compiler when a TLibAssoc<T> type is passed to a function that is prototyped to take a T* type.

operator TCleanupItem()

operator TCleanupItem ( ) [inline]

The TCleanupItem conversion operator.

Invoked by the compiler when a TLibAssoc<T> type is passed to a function that is prototyped to take a TCleanupItem type.

The most common usage is to put a cleanup item onto the cleanup stack using CleanupStack::PushL() . The cleanup operation is represented by the private static function Cleanup() .

For example, if we declare

         TLibAssoc<A> a;
        

then we can simply put a cleanup item onto the cleanup stack by calling

         CleanupStack::PushL(a);
        

TCleanupItem CleanupStack::PushL

operator TLibAssoc *()

operator TLibAssoc * ( )

operator const T *()

operator const T * ( ) const [inline]

Const conversion operator.

Invoked by the compiler when a TLibAssoc<T> type is passed to a function that is prototyped to take a const T* type.

operator->()

T * operator-> ( ) [inline]

Dereferencing operator.

operator->()

const T * operator-> ( ) const [inline]

Const dereferencing operator.