RScsClientSubsessionBase Class Reference

class RScsClientSubsessionBase : public RSubSessionBase

This class is used to send messages to server-side SCS subsessions. This class cannot be used directly - the implementor must define a subclass.

Inherits from

Constructor & Destructor Documentation

RScsClientSubsessionBase()

IMPORT_CRScsClientSubsessionBase()[protected]

This protected constructor prevents the class from being instantiated directly.

Member Functions Documentation

CallSubsessionFunction(TInt)

IMPORT_C TIntCallSubsessionFunction(TIntaFunction)const [protected]

Send a command to the corresponding server-side subsession. The subclass uses this function instead of directly calling RSubSessionBase::SendReceive because it adds the SCS code which marks this as a subsession call. Therefore, it can be routed to the subsession object on the server side without any custom decoding.

Parameters

TInt aFunctionSubsession command identifier. Bits 31:24 must be zero, because they are reserved for SCS commands.

CallSubsessionFunction(TInt, const TIpcArgs &)

IMPORT_C TIntCallSubsessionFunction(TIntaFunction,
const TIpcArgs &aArgs
)const [protected]

Send a command to the corresponding server-side subsession. The subclass uses this function instead of directly calling RSubSessionBase::SendReceive because it adds the SCS code which marks this as a subsession call. Therefore, it can be routed to the subsession object on the server side without any custom decoding.

Parameters

TInt aFunctionSubsession command identifier. Bits 31:24 must be zero, because they are reserved for SCS commands.
const TIpcArgs & aArgsStandard IPC arguments. The fourth argument cannot be used because that is reserved for the subsession handle.

CallSubsessionFunction(TInt, const TIpcArgs &, TRequestStatus &)

IMPORT_C voidCallSubsessionFunction(TIntaFunction,
const TIpcArgs &aArgs,
TRequestStatus &aStatus
)const [protected]

Send a command to the corresponding server-side subsession.

Parameters

TInt aFunctionSubsession command identifier. Bits 31:24 must be zero, because they are reserved for SCS commands.
const TIpcArgs & aArgsStandard IPC arguments. The fourth argument cannot be used because that is reserved for the subsession handle.
TRequestStatus & aStatusThe server completes this object when it has finished handling the session.

CancelSubsessionFunction(TInt)

IMPORT_C voidCancelSubsessionFunction(TIntaFunction)const [protected]

Cancel an outstanding subsession request. This has no effect if the request is not outstanding.

Parameters

TInt aFunctionImplementation function. This must be the same value that was supplied to CallSubsessionFunction.

Close()

IMPORT_C voidClose()

Closes the subsession, releasing resources on the server side.

CreateSubsession(const RScsClientBase &, TInt, const TIpcArgs &)

IMPORT_C TIntCreateSubsession(const RScsClientBase &aSession,
TIntaFunction,
const TIpcArgs &aArgs
)[protected]

Create a subsession over the supplied session.

Parameters

const RScsClientBase & aSessionSession which will host the subsession.
TInt aFunctionCommand identifier. Bits 31:24 must be zero, because they are reserved for SCS commands.
const TIpcArgs & aArgsStandard IPC arguments. The fourth argument cannot be used because that is reserved for the subsession handle.