UserPromptService::RUpsSubsession Class Reference

#include <ups/upsclient.h>

Link against: upsclient.lib

class UserPromptService::RUpsSubsession : public RScsClientSubsessionBase

Inherits from

Detailed Description

System servers use this class to establish a connection to the UPS for a specific client. Before checking a request with the User Prompt Service the Authorise method first checks whether authorisation from the User Prompt Service is required. If authorisation is not required e.g. the client has the correct capabilities for the service then Authorise completes immediately.

Constructor & Destructor Documentation

RUpsSubsession ( )

IMPORT_CRUpsSubsession()

This constructor provides a single point of definition from which the superclass constructor is called.

Member Function Documentation

Authorise ( TBool, const TServiceId &, const TDesC &, TUpsDecision &, TRequestStatus & )

IMPORT_C voidAuthorise(TBoolaServerCheckOk,
const TServiceId &aServiceId,
const TDesC &aDestination,
TUpsDecision &aDecision,
TRequestStatus &aStatus
)

Determines whether the system server should perform the service requested by the client application. Depending on licensee configuration this function will either complete immediately if the client passed the system servers security policy check. Alternatively, every request may require additional authorisation by the User Prompt Service.

See also: RUpsSubsession::AuthoriseInternal

Parameters
aServerCheckOkWhether the client request passed the security check implemented by the system server e.g. does the client have the correct capabilities for the requested service.
aServiceIdService which the client wants to use.
aDestinationMore information about the service, e.g. this could be a telephone number is the client wanted to make a call.
aDecisionWhen the request completes successfully, the verdict is written to this variable.
aStatusThe server completes this request object when it has finished handling the request.
Capability
ProtServ

Authorise ( TBool, const TServiceId &, const TDesC &, const TDesC8 &, TUpsDecision &, TRequestStatus & )

IMPORT_C voidAuthorise(TBoolaServerCheckOk,
const TServiceId &aServiceId,
const TDesC &aDestination,
const TDesC8 &aOpaqueData,
TUpsDecision &aDecision,
TRequestStatus &aStatus
)

Determines whether the system server should perform the service requested by the client application. Depending on licensee configuration this function will either complete immediately if the client passed the system servers security policy check. Alternatively, every request may require additional authorisation by the User Prompt Service.

See also: RUpsSubsession::AuthoriseInternal

Parameters
aServerCheckOkWhether the client request passed the security check implemented by the system server e.g. does the client have the correct capabilities for the requested service.
aServiceIdService which the client wants to use.
aDestinationMore information about the service, e.g. this could be a telephone number is the client wanted to make a call.
aOpaqueDataAdditional information to describe the request.
aDecisionWhen the request completes successfully, the verdict is written to this variable.
aStatusThe server completes this request object when it has finished handling the request.
Capability
ProtServ

CancelPrompt ( )

IMPORT_C voidCancelPrompt()

Cancel the prompt request which was launched by calling Authorise.

This function has no effect if there is no outstanding request.
Capability
ProtServ

Close ( )

IMPORT_C voidClose()

Reimplemented from RScsClientSubsessionBase::Close()

Close and clean up this subsession object.

Initialise ( RUpsSession &, const RThread & )

IMPORT_C TIntInitialise(RUpsSession &aSession,
const RThread &aClient
)

Saves the details required to create a subsession specific to the client thread.

The actual subsession creation is defered until the subsession is required (which may be never if the policy says server checks are sufficient).

Several RUpsSubsession objects can share a single RUpsSession.

If any of the RUpsSubsession objects are to be used in a different thread to the RUpsSession, then ShareAuto() must be called on the RUpsSession.

See also: RSubSessionBase::CreateSubsession

Parameters
aSessionConnected session to the UPS server.
aClientSS client for whom this session is set up.
Return Value
Symbian OS error code where KErrNone indicates success and any other value indicates failure.