TMMFMessage Class Reference

class TMMFMessage

Encapsulation of an RMessage or an RMessage2 to provide protection to controller plugins from the changes occurring with secure APIs.

Adds required destination information to the message so the controller framework can determine which object the message is for.

Adds capability to check whether the message has been completed.

Allows two descriptors to be read from the client, and one descriptor to be copied to the client.

Constructor & Destructor Documentation

TMMFMessage(const TMMFMessage &)

IMPORT_C TMMFMessage ( const TMMFMessage & aMessage )

Copy constructor.

A controller plugin should use this to take a copy of the message when it must wait for some other event before completing it.

Since
7.0s

Parameters

const TMMFMessage & aMessage The message object to copy.

TMMFMessage(const RMmfIpcMessage &)

IMPORT_C TMMFMessage ( const RMmfIpcMessage & aMessage )

Constructs a TMMFMessage from an RMmfIpcMessage.

Since
7.0s

Parameters

const RMmfIpcMessage & aMessage The handle to the remote message.

Member Functions Documentation

AdoptFileHandleFromClientL(TInt, TInt, RFile &)

IMPORT_C void AdoptFileHandleFromClientL ( TInt aFsHandleIndex,
TInt aFileHandleIndex,
RFile & aFile
)

Parameters

TInt aFsHandleIndex
TInt aFileHandleIndex
RFile & aFile

Complete(TInt)

IMPORT_C void Complete ( TInt aReason )

Signals to the client that its request has been completed.

Equivalent to RMessage::Complete.

Since
7.0s

Parameters

TInt aReason The result code to be given back to the client.

Destination()

IMPORT_C const TMMFMessageDestination & Destination ( )

Returns the destination of the message.

Since
7.0s

FetchDestinationL()

IMPORT_C void FetchDestinationL ( )

Gets the destination info from the client.

Since
7.0s

Function()

IMPORT_C TInt Function ( )

Returns an integer describing the function being called. Equivalent to RMessage::Function().

RMessage::Function()
Since
7.0s

IsCompleted()

IMPORT_C TBool IsCompleted ( )

Checks whether this message has already been completed.

Since
7.0s

ReadData1FromClient(TDes8 &)

IMPORT_C TInt ReadData1FromClient ( TDes8 & aDes )

Copy the first descriptor from the client.

Since
7.0s

Parameters

TDes8 & aDes A descriptor defining the area of memory into which the data from the client will be copied. Note, the descriptor must be of sufficient size.

ReadData1FromClientL(TDes8 &)

IMPORT_C void ReadData1FromClientL ( TDes8 & aDes )

Copy the first descriptor from the client.

This functino can leave with one of the system-wide error codes. In particular, the leave code KErrBadDescriptor will be used if the client did not provide a valid descriptor.

Since
7.0s

Parameters

TDes8 & aDes A descriptor defining the area of memory into which the data from the client will be copied. Note, the descriptor must be of sufficient size.

ReadData2FromClient(TDes8 &)

IMPORT_C TInt ReadData2FromClient ( TDes8 & aDes )

Copies the second descriptor from the client.

Since
7.0s

Parameters

TDes8 & aDes A descriptor defining the area of memory into which the data from the client will be copied. Note, the descriptor must be of sufficient size.

ReadData2FromClientL(TDes8 &)

IMPORT_C void ReadData2FromClientL ( TDes8 & aDes )

Copies the second descriptor from the client.

This function can leave with one of the system-wide error codes. In particular, the leave code KErrBadDescriptor will be used if the client did not provide a valid descriptor.

Since
7.0s

Parameters

TDes8 & aDes A descriptor defining the area of memory into which the data from the client will be copied. Note, the descriptor must be of sufficient size.

SizeOfData1FromClient()

IMPORT_C TInt SizeOfData1FromClient ( )

Returns the size of the first descriptor that can be copied over from the client.

Use this to create a descriptor of appropriate size before reading the data from the client.

Since
7.0s

SizeOfData2FromClient()

IMPORT_C TInt SizeOfData2FromClient ( )

Returns the size of the second descriptor that can be copied over from the client.

Use this to create a descriptor of appropriate size before reading the data from the client.

Since
7.0s

WriteDataToClient(const TDesC8 &)

IMPORT_C TInt WriteDataToClient ( const TDesC8 & aDes )

Copies data back to the client.

Since
7.0s

Parameters

const TDesC8 & aDes The data to be copied back to the client. Note that the client must have already created a descriptor of sufficient size for the data to be copied into.

WriteDataToClientL(const TDesC8 &)

IMPORT_C void WriteDataToClientL ( const TDesC8 & aDes )

Copies the data back to the client.

This function can leave with one of the system-wide error codes. In particular, the leave code KErrBadDescriptor will be used if the client did not provide a valid descriptor.

Since
7.0s

Parameters

const TDesC8 & aDes The data to be copied back to the client. Note that the client must have already created a descriptor of sufficient size for the data to be copied into.

Member Data Documentation

TBool iAmCompleted

TBool iAmCompleted [private]

Defines whether this object has yet to be completed.

TMMFMessageDestination iDestination

TMMFMessageDestination iDestination [private]

The destination of this message.

TInt iDummyPadding

TInt iDummyPadding [private]

Private padding to preserve BC with earlier versions

TInt iFunction

TInt iFunction [private]

The encapsulated function

RMessagePtr2 iMessage

RMessagePtr2 iMessage [private]

The encapsulated message