RAnim Class Reference

class RAnim

Client-side handle to a server-side animation class.

This class should be sub-classed to provide a client side interface to the server side animation DLL. The server side animation DLL is derived from CAnim.

Public Member Functions
~RAnim ()
IMPORT_C void Close ()
IMPORT_C void Destroy ()
Protected Member Functions
RAnim ()
RAnim ( RAnimDll &)
IMPORT_C void AsyncCommandReply ( TRequestStatus &, TInt , const TIpcArgs &)
IMPORT_C void Command ( TInt , const TPtrC8 &)
IMPORT_C void Command ( TInt )
IMPORT_C TInt CommandReply ( TInt )
IMPORT_C TInt CommandReply ( TInt , const TPtrC8 &)
IMPORT_C TInt CommandReply ( TInt , const TDesC8 &, const TIpcArgs &)
IMPORT_C TInt Construct (const RWindowBase &, TInt , const TDesC8 &)
IMPORT_C TInt Construct (const RWindowBase &, TInt , const TDesC8 &, const TIpcArgs &)
IMPORT_C TInt Construct (const RWsSprite &, TInt , const TDesC8 &)
IMPORT_C TInt Construct (const RWsSprite &, TInt , const TDesC8 &, const TIpcArgs &)
Private Attributes
RAnimDll * iAnimDll
TInt32 iHandle

Constructor & Destructor Documentation

RAnim()

IMPORT_C RAnim ( ) [protected]

Default constructor. Developers should use the other constructor overload.

RAnim(RAnimDll &)

IMPORT_C RAnim ( RAnimDll & aDll ) [protected]

Protected C++ constructor.

This constructor should be used to construct an animation object from a given animation DLL. The DLL must be loaded first, see the discussion of RAnimDll .

Parameters

RAnimDll & aDll The animation DLL.

~RAnim()

IMPORT_C ~RAnim ( ) [virtual]

Empty virtual destructor.

Member Functions Documentation

AsyncCommandReply(TRequestStatus &, TInt, const TIpcArgs &)

IMPORT_C void AsyncCommandReply ( TRequestStatus & aRequestStatus,
TInt aOpcode,
const TIpcArgs & aIpcArgs
) [protected]

Sends a command and its arguments to the server-side CAnim instance asynchronously.

The IPC (inter-process communication) arguments are passed to the CAnim-derived class' CommandReplyL function, where the behaviour should be implemented. The request is not buffered - rather the function executes asynchronously. The first and second slots of the TIpcArgs parameter are reserved for internal use.

If the code calling this function is itself an API that is asynchronous (i.e. if the TRequestStatus passed into this function is simply a parameter to a higher-level API), then that higher-level API should typically provide a corresponding "Cancel" function that its own clients can use to cancel their asynchronous request - this would typically be implemented by the higher-level API by using RAnim::CommandReply .

CommandReply() Command() CAnim::CommandReplyL()

Parameters

TRequestStatus & aRequestStatus Set initially by the function to KRequestPending. Then when this asynchronous function at some potentially later point in time "completes", aRequestStatus is set to the completion code which is a value defined by the animation writer (i.e. the value that the server-side CAnim-derived class' CommandReplyL returns or leaves with). The value may, in some cases, be defined to be an error code.
TInt aOpcode An opcode meaningful to the server-side CAnim-derived class.
const TIpcArgs & aIpcArgs Inter-process communication arguments which will be passed to the server side object. Panics if either the first or second "slot" is set to anything other than TIpcArgs::ENothing.

Close()

IMPORT_C void Close ( ) [virtual]

Sends the close command.

This frees resources belonging to an animation object. It would be called to release resources when the RAnim is owned in-line by another object (so that destruction is automatic).

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

Command(TInt, const TPtrC8 &)

IMPORT_C void Command ( TInt aOpcode,
const TPtrC8 & aArgs
) [protected]

Sends a command and its arguments to the server-side CAnim instance, and returns immediately.

Commands issued by this function may be buffered before being passed to the server.

Server-side errors cannot be detected, so Command() should not be used for operations which could fail or which may leave. Use CommandReply() for those. Although the window server will not fail due to errors not being returned to the client side, client side behaviour will almost certainly not be correct if errors have been generated but not received.

Use of this function results in a server-side call to the equivalent CAnim::Command().

CommandReply() AsyncCommandReply() CAnim::Command()

Parameters

TInt aOpcode An operation meaningful to the server-side CAnim object.
const TPtrC8 & aArgs Packaged arguments which will be passed to the server side object.

Command(TInt)

IMPORT_C void Command ( TInt aOpcode ) [protected]

Sends a command to the server-side CAnim instance, and returns immediately.

Commands issued by this function may be buffered before being passed to the server.

Server-side errors cannot be detected, so Command() should not be used for operations which could fail or which may leave. Use CommandReply() for those. Although the window server will not fail due to errors not being returned to the client side, client side behaviour will almost certainly not be correct if errors have been generated but not received.

Use of this function results in a server-side call to the equivalent CAnim::Command().

CommandReply() AsyncCommandReply() CAnim::Command()

Parameters

TInt aOpcode An operation meaningful to the server-side CAnim object.

CommandReply(TInt)

IMPORT_C TInt CommandReply ( TInt aOpcode ) [protected]

Sends a command to the server-side CAnim instance, and waits for a response.

This function executes synchronously and returns the code returned by the server-side method CAnim::CommandReplyL(). The request is not buffered.

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

Command() AsyncCommandReply() CAnim::CommandReplyL()

Parameters

TInt aOpcode An opcode meaningful to the server-side CAnim-derived class.

CommandReply(TInt, const TPtrC8 &)

IMPORT_C TInt CommandReply ( TInt aOpcode,
const TPtrC8 & aArgs
) [protected]

Sends a command and its arguments to the server-side CAnim instance, and waits for a response.

The packaged command arguments are passed to the matching server side function, where the behaviour should be implemented. The request is not buffered. The function executes synchronously and returns the code returned by the server-side method CAnim::CommandReplyL().

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

Command() AsyncCommandReply() CAnim::CommandReplyL()

Parameters

TInt aOpcode An opcode meaningful to the server-side CAnim-derived class.
const TPtrC8 & aArgs Packaged arguments which will be passed to the server side object.

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

IMPORT_C TInt CommandReply ( TInt aOpcode,
const TDesC8 & aArgs,
const TIpcArgs & aIpcArgs
) [protected]

Sends a command and its arguments to the server-side CAnim instance, and waits for a response.

The IPC (inter-process communication) arguments are passed to the matching server side function, where the behaviour should be implemented. The request is not buffered. The function executes synchronously and returns the code returned by the server-side method CAnim::CommandReplyL(). The first slot of the TIpcArgs parameter is reserved for internal use.

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

Command() AsyncCommandReply() CAnim::CommandReplyL()

Parameters

TInt aOpcode An opcode meaningful to the server-side CAnim-derived class.
const TDesC8 & aArgs Packaged arguments which will be passed to the server side object.
const TIpcArgs & aIpcArgs Inter-process communication arguments which will be passed to the server side object. Panics if the first "slot" is set to anything other than TIpcArgs::ENothing.

Construct(const RWindowBase &, TInt, const TDesC8 &)

IMPORT_C TInt Construct ( const RWindowBase & aDevice,
TInt aType,
const TDesC8 & aParams
) [protected]

Completes construction of the object based on a window device, and creates the server-side animation system.

Construction information is passed to the server side via aType and aParams. The server then passes the information to the function CreateInstanceL() inside the Anim DLL.

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

CAnim::ConstructL() CAnimDll::CreateInstanceL()

Parameters

const RWindowBase & aDevice A window device.
TInt aType The type of this animation object, as understood by CAnimDll::CreateInstanceL().
const TDesC8 & aParams Packaged arguments which will be passed to the server side object to tell it how to construct itself or initialise itself.

Construct(const RWindowBase &, TInt, const TDesC8 &, const TIpcArgs &)

IMPORT_C TInt Construct ( const RWindowBase & aDevice,
TInt aType,
const TDesC8 & aParams,
const TIpcArgs & aIpcArgs
) [protected]

Completes construction of the object based on a window device, and creates the server-side animation system.

Construction information is passed to the server side via aType and aParams. The server then passes the information to the function CreateInstanceL() inside the Anim DLL.

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

CAnim::ConstructL() CAnimDll::CreateInstanceL()

Parameters

const RWindowBase & aDevice A window device.
TInt aType The type of this animation object, as understood by CAnimDll::CreateInstanceL().
const TDesC8 & aParams Packaged arguments which will be passed to the server side object to tell it how to construct itself or initialise itself.
const TIpcArgs & aIpcArgs Inter-process communication arguments which will be passed to the server side object. Panics if the first "slot" is set to anything other than TIpcArgs::ENothing.

Construct(const RWsSprite &, TInt, const TDesC8 &)

IMPORT_C TInt Construct ( const RWsSprite & aDevice,
TInt aType,
const TDesC8 & aParams
) [protected]

Completes construction of the Anim DLL based on a sprite.

Construction information is passed to the server side via aType and aParams. The server then passes the information to the function CreateInstanceL() inside the Anim DLL.

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

CAnim::ConstructL() CAnimDll::CreateInstanceL()

Parameters

const RWsSprite & aDevice A sprite.
TInt aType The type of this animation object, as understood by CAnimDll::CreateInstanceL().
const TDesC8 & aParams Packaged arguments which will be passed to the server side object to tell it how to construct itself or initialise itself.

Construct(const RWsSprite &, TInt, const TDesC8 &, const TIpcArgs &)

IMPORT_C TInt Construct ( const RWsSprite & aDevice,
TInt aType,
const TDesC8 & aParams,
const TIpcArgs & aIpcArgs
) [protected]

Completes construction of the Anim DLL based on a sprite.

Construction information is passed to the server side via aType and aParams. The server then passes the information to the function CreateInstanceL() inside the Anim DLL.

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

CAnim::ConstructL() CAnimDll::CreateInstanceL()

Parameters

const RWsSprite & aDevice A sprite.
TInt aType The type of this animation object, as understood by CAnimDll::CreateInstanceL().
const TDesC8 & aParams Packaged arguments which will be passed to the server side object to tell it how to construct itself or initialise itself.
const TIpcArgs & aIpcArgs Inter-process communication arguments which will be passed to the server side object. Panics if the first "slot" is set to anything other than TIpcArgs::ENothing.

Destroy()

IMPORT_C void Destroy ( )

Closes and deletes the server-side animation object.

This should be called on heap allocated objects.

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

Member Data Documentation

RAnimDll * iAnimDll

RAnimDll * iAnimDll [private]

TInt32 iHandle

TInt32 iHandle [private]