RScsClientSubsessionBase Class Reference

#include <scs/scsclient.h>

Link against: scsclient.lib

class RScsClientSubsessionBase : public RSubSessionBase

Inherits from

Detailed Description

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

Constructor & Destructor Documentation

RScsClientSubsessionBase ( )

IMPORT_CRScsClientSubsessionBase()[protected]

This protected constructor prevents the class from being instantiated directly.

Member Function 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
aFunctionSubsession command identifier. Bits 31:24 must be zero, because they are reserved for SCS commands.
Return Value
Error code with which the server completed the request.

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
aFunctionSubsession command identifier. Bits 31:24 must be zero, because they are reserved for SCS commands.
aArgsStandard IPC arguments. The fourth argument cannot be used because that is reserved for the subsession handle.
Return Value
Error code with which the server completed the request.

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
aFunctionSubsession command identifier. Bits 31:24 must be zero, because they are reserved for SCS commands.
aArgsStandard IPC arguments. The fourth argument cannot be used because that is reserved for the subsession handle.
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
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
aSessionSession which will host the subsession.
aFunctionCommand identifier. Bits 31:24 must be zero, because they are reserved for SCS commands.
aArgsStandard IPC arguments. The fourth argument cannot be used because that is reserved for the subsession handle.
Return Value
Error code with which the server completed the request.