RMessage2 Class Reference

#include <e32cmn.h>

class RMessage2 : public RMessagePtr2

Inherits from

Protected Attributes
TInt iArgs
TInt iFunction
const TAny *iSessionPtr
Public Member Enumerations
enumTSessionMessages { EConnect, EDisConnect }
Public Member Functions
RMessage2()
RMessage2(const RMessagePtr2 &)
TBool Authorised()
voidClearAuthorised()
TInt Function()
TInt Int0()
TInt Int1()
TInt Int2()
TInt Int3()
const TAny *Ptr0()
const TAny *Ptr1()
const TAny *Ptr2()
const TAny *Ptr3()
CSession2 *Session()
voidSetAuthorised()
Inherited Attributes
RMessagePtr2::iHandle
Inherited Functions
RMessagePtr2::Client(RThread &,TOwnerType)const
RMessagePtr2::ClientIsRealtime()const
RMessagePtr2::ClientL(RThread &,TOwnerType)const
RMessagePtr2::ClientProcessFlags()const
RMessagePtr2::ClientStatus()const
RMessagePtr2::Complete(RHandleBase)const
RMessagePtr2::Complete(TInt)const
RMessagePtr2::GetDesLength(TInt)const
RMessagePtr2::GetDesLengthL(TInt)const
RMessagePtr2::GetDesMaxLength(TInt)const
RMessagePtr2::GetDesMaxLengthL(TInt)const
RMessagePtr2::Handle()const
RMessagePtr2::HasCapability(TCapability,TCapability,const char *)const
RMessagePtr2::HasCapability(TCapability,const char *)const
RMessagePtr2::HasCapabilityL(TCapability,TCapability,const char *)const
RMessagePtr2::HasCapabilityL(TCapability,const char *)const
RMessagePtr2::Identity()const
RMessagePtr2::IsNull()const
RMessagePtr2::Kill(TInt)const
RMessagePtr2::Panic(const TDesC &,TInt)const
RMessagePtr2::RMessagePtr2()
RMessagePtr2::Read(TInt,TDes16 &,TInt)const
RMessagePtr2::Read(TInt,TDes8 &,TInt)const
RMessagePtr2::ReadL(TInt,TDes16 &,TInt)const
RMessagePtr2::ReadL(TInt,TDes8 &,TInt)const
RMessagePtr2::SecureId()const
RMessagePtr2::SetProcessPriority(TProcessPriority)const
RMessagePtr2::SetProcessPriorityL(TProcessPriority)const
RMessagePtr2::Terminate(TInt)const
RMessagePtr2::VendorId()const
RMessagePtr2::Write(TInt,const TDesC16 &,TInt)const
RMessagePtr2::Write(TInt,const TDesC8 &,TInt)const
RMessagePtr2::WriteL(TInt,const TDesC16 &,TInt)const
RMessagePtr2::WriteL(TInt,const TDesC8 &,TInt)const

Detailed Description

An object that encapsulates the details of a client request.

Member Attribute Documentation

iArgs

TInt iArgs[protected]

A copy of the message arguments.

iFunction

TInt iFunction[protected]

The request type.

iSessionPtr

const TAny *iSessionPtr[protected]

Member Enumeration Documentation

Enum TSessionMessages

Defines internal message types.

EnumeratorValueDescription
EConnect-1

A message type used internally that means connect.

EDisConnect-2

A message type used internally that means disconnect.

Constructor & Destructor Documentation

RMessage2 ( )

RMessage2()[inline]

Default constructor

RMessage2 ( const RMessagePtr2 & )

IMPORT_CRMessage2(const RMessagePtr2 &aPtr)[explicit]

Constructs an RMessage2 from an RMessagePtr2.

ParameterDescription
aPtrA reference to an existing RMessagePtr2 object.

Member Function Documentation

Authorised ( )

TBool Authorised()const

Returns whether this message has been authorised by CPolicyServer. See RMessage2::SetAuthorised for implications of this state.

ClearAuthorised ( )

voidClearAuthorised()const

Sets the authorised flag to a state of not authorised. This is required as there is a default constructor for RMessage2 and one cannot guarantee that iFlags was initialised. This is called from CPolicyServer::RunL.

This is labelled as a const functions as everybody handles const RMessage2&'s. The constness is actually referring to the underlying RMessagePtr2 not the tranisent RMessage2 class.

Function ( )

TInt Function()const [inline]

Gets the the number of the function requested by the client.

Returns: The function number.

Int0 ( )

TInt Int0()const [inline]

Gets the first message argument as an integer value.

Returns: The first message argument.

Int1 ( )

TInt Int1()const [inline]

Gets the second message argument as an integer value.

Returns: The second message argument.

Int2 ( )

TInt Int2()const [inline]

Gets the third message argument as an integer value.

Returns: The third message argument.

Int3 ( )

TInt Int3()const [inline]

Gets the fourth message argument as an integer value.

Returns: The fourth message argument.

Ptr0 ( )

const TAny *Ptr0()const [inline]

Gets the first message argument as a pointer type.

Returns: The first message argument.

Ptr1 ( )

const TAny *Ptr1()const [inline]

Gets the second message argument as a pointer type.

Returns: The second message argument.

Ptr2 ( )

const TAny *Ptr2()const [inline]

Gets the third message argument as a pointer type.

Returns: The third message argument.

Ptr3 ( )

const TAny *Ptr3()const [inline]

Gets the fourth message argument as a pointer type.

Returns: The fourth message argument.

Session ( )

CSession2 *Session()const [inline]

Gets a pointer to the session.

Returns: A pointer to the session object.

SetAuthorised ( )

voidSetAuthorised()const

Sets this message to an authorised state. This is used only by CPolicyServer. This flags use by the policy server implies two things: 1) That the message has passed any appropriate security checks. (ie. one of the static policy check, CustomSecurityCheckL, or CustomFailureActionL, returned ETrue.) 2) That any leaves that occur subsequent to this flag being set happen _only_ in the session's ServiceL. ie. Nothing can leave between this flag being set and the session's ServiceL being called.

This is labelled as a const functions as everybody handles const RMessage2&'s. The constness is actually referring to the underlying RMessagePtr2 not the tranisent RMessage2 class.