RAnimDll Class Reference

class RAnimDll : public MWsClientClass

Client-side interface to the server-side animation DLL.

This is the client side class matching the server side CAnimDLL class. It provides functions to create, load, close and destroy a server-side CAnimDll object.

CreateCAnimDllL() CAnimDll

Inherits from

Public Member Functions
RAnimDll()
RAnimDll(RWsSession &)
~RAnimDll()
IMPORT_C voidClose()
IMPORT_C voidDestroy()
IMPORT_C TIntLoad(const TDesC &)
Private Member Functions
voidAsyncCommandReply(TRequestStatus &, TInt, TIpcArgs &)
voidCommand(TInt, TInt, const TPtrC8 &)
voidCommand(TInt, TInt)
TInt CommandReply(TInt, TInt, const TIpcArgs *)
TInt CommandReply(TInt, TInt, const TDesC8 &, const TIpcArgs *)
TInt CreateInstance(TInt32 &, const MWsClientClass &, TInt, const TDesC8 &, TInt, const TIpcArgs *)
voidDestroyInstance(TInt)
Inherited Functions
MWsClientClass::AddToBitmapArray(const TInt)const
MWsClientClass::AsyncRequest(TRequestStatus &,TUint)const
MWsClientClass::CachedWindowSize(TSize &)const
MWsClientClass::DestroyWindowNativeSizeCacheEntry()
MWsClientClass::DestroyWindowSizeCacheEntry()
MWsClientClass::EnableWindowNativeSizeCacheL()
MWsClientClass::MWsClientClass()
MWsClientClass::MWsClientClass(RWsBuffer *)
MWsClientClass::MarkWindowSizeCacheDirty()
MWsClientClass::RefreshWindowSizeCache(const TSize &)const
MWsClientClass::SetWindowNativeSize(const TSize &)const
MWsClientClass::WindowNativeSize(TSize &)const
MWsClientClass::WindowNativeSizeCacheEnabled()const
MWsClientClass::WindowSizeCacheEnabled()const
MWsClientClass::Write(TUint)const
MWsClientClass::Write(const TAny *,TInt,TUint)const
MWsClientClass::Write(const TAny *,TInt,const TAny *,TInt,TUint)const
MWsClientClass::WriteInt(TInt,TUint)const
MWsClientClass::WritePoint(const TPoint &,TUint)const
MWsClientClass::WriteRect(const TRect &,TUint)const
MWsClientClass::WriteReply(TUint,const TIpcArgs *)const
MWsClientClass::WriteReply(const TAny *,TInt,TUint,const TIpcArgs *)const
MWsClientClass::WriteReply(const TAny *,TInt,const TAny *,TInt,TUint,const TIpcArgs *)const
MWsClientClass::WriteReplyByProvidingRemoteReadAccess(const TAny *,TInt,const TReadDescriptorType &,TUint)const
MWsClientClass::WriteReplyInt(TInt,TUint,const TIpcArgs *)const
MWsClientClass::WriteReplyIntP(TInt,const TWriteDescriptorType &,TUint)const
MWsClientClass::WriteReplyP(const TAny *,TInt,const TAny *,TInt,const TWriteDescriptorType &,TUint)const
MWsClientClass::WriteReplyP(const TAny *,TInt,const TWriteDescriptorType &,TUint)const
MWsClientClass::WriteReplyP(const TWriteDescriptorType &,TUint)const
MWsClientClass::WriteSize(const TSize &,TUint)const
MWsClientClass::WsHandle()const
Inherited Attributes
MWsClientClass::iBuffer
MWsClientClass::iWsHandle

Constructor & Destructor Documentation

RAnimDll()

IMPORT_CRAnimDll()

Default constructor.

RAnimDll is a lightweight class which can be allocated as a non-pointer member. This constructor is provided to allow such a member to be instantiated while its owner is constructed.

Note that an RAnimDll constructed without a reference to a window server session is invalid.

RAnimDll(RWsSession &)

IMPORT_CRAnimDll(RWsSession &aWs)

Valid constructor.

To be useable, an animation DLL should always be constructed with a reference to a window server session as argument.

Parameters

RWsSession & aWsWindow server session to use.

~RAnimDll()

IMPORT_C~RAnimDll()[virtual]

Empty virtual destructor.

Destroy() should be used to instead of this function to destroy both this object and the server-side CAnimDll object.

Destroy() Close()

Member Functions Documentation

AsyncCommandReply(TRequestStatus &, TInt, TIpcArgs &)

voidAsyncCommandReply(TRequestStatus &aStatus,
TIntaOpcode,
TIpcArgs &aIpcArgs
)[private]

Parameters

TRequestStatus & aStatus
TInt aOpcode
TIpcArgs & aIpcArgs

Close()

IMPORT_C voidClose()[virtual]

Closes an animation DLL.

Use this function to close a polymorphic DLL which was previously loaded on the server. Cleans up and frees all resources belonging to the DLL but does not delete it. Closing is in accordance with the RLibrary mechanism.

Load() and Close() are symmetrical operations. A DLL can be re-loaded after a close has been called on it.

To both close and delete a previously loaded DLL, use Destroy().

Command(TInt, TInt, const TPtrC8 &)

voidCommand(TIntaHandle,
TIntaOpcode,
const TPtrC8 &aArgs
)[private]

Parameters

TInt aHandle
TInt aOpcode
const TPtrC8 & aArgs

Command(TInt, TInt)

voidCommand(TIntaHandle,
TIntaOpcode
)[private]

Parameters

TInt aHandle
TInt aOpcode

CommandReply(TInt, TInt, const TIpcArgs *)

TInt CommandReply(TIntaHandle,
TIntaOpcode,
const TIpcArgs *aIpcArgs = NULL
)[private]

Parameters

TInt aHandle
TInt aOpcode
const TIpcArgs * aIpcArgs = NULL

CommandReply(TInt, TInt, const TDesC8 &, const TIpcArgs *)

TInt CommandReply(TIntaHandle,
TIntaOpcode,
const TDesC8 &aArgs,
const TIpcArgs *aIpcArgs = NULL
)[private]

Parameters

TInt aHandle
TInt aOpcode
const TDesC8 & aArgs
const TIpcArgs * aIpcArgs = NULL

CreateInstance(TInt32 &, const MWsClientClass &, TInt, const TDesC8 &, TInt, const TIpcArgs *)

TInt CreateInstance(TInt32 &aHandle,
const MWsClientClass &aDevice,
TIntaType,
const TDesC8 &aArgs,
TIntaOpcode,
const TIpcArgs *aIpcArgs
)[private]

Parameters

TInt32 & aHandle
const MWsClientClass & aDevice
TInt aType
const TDesC8 & aArgs
TInt aOpcode
const TIpcArgs * aIpcArgs

Destroy()

IMPORT_C voidDestroy()

Closes and deletes a previously loaded polymorphic DLL.

This function is equivalent to calling this->Close() followed by delete this, in accordance with the RLibrary mechanism provided for managing polymorphic DLLs.

DestroyInstance(TInt)

voidDestroyInstance(TIntaHandle)[private]

Parameters

TInt aHandle

Load(const TDesC &)

IMPORT_C TIntLoad(const TDesC &aFileName)

Instructs the server to load an animation DLL.

Use this function to pass the name of a polymorphic DLL, the animation DLL, for loading on the server side. Loading is in accordance with the RLibrary mechanism. The DLL must conform to the interface defined by the window server, otherwise an error will result. For requirements, see the description of CAnimDll.

Load() and Close() are symmetrical operations. A DLL can be re-loaded after a close has been called on it.

This function always causes a flush of the window server buffer.

panic
TW32Panic 17 in debug builds if called on an already constructed object.

Parameters

const TDesC & aFileNameFilename of the DLL to load.