#include <ups/upsclient.h>
Link against: upsclient.lib
class UserPromptService::RUpsSubsession : public RScsClientSubsessionBase |
Public Member Functions | |
---|---|
RUpsSubsession() | |
IMPORT_C void | Authorise(TBool, const TServiceId &, const TDesC &, TUpsDecision &, TRequestStatus &) |
IMPORT_C void | Authorise(TBool, const TServiceId &, const TDesC &, const TDesC8 &, TUpsDecision &, TRequestStatus &) |
IMPORT_C void | CancelPrompt() |
IMPORT_C void | Close() |
IMPORT_C TInt | Initialise(RUpsSession &, const RThread &) |
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.
IMPORT_C | RUpsSubsession | ( | ) |
This constructor provides a single point of definition from which the superclass constructor is called.
IMPORT_C void | Authorise | ( | TBool | aServerCheckOk, |
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 | |
---|---|
aServerCheckOk | Whether 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. |
aServiceId | Service which the client wants to use. |
aDestination | More information about the service, e.g. this could be a telephone number is the client wanted to make a call. |
aDecision | When the request completes successfully, the verdict is written to this variable. |
aStatus | The server completes this request object when it has finished handling the request. |
Capability | |
---|---|
ProtServ |
IMPORT_C void | Authorise | ( | TBool | aServerCheckOk, |
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 | |
---|---|
aServerCheckOk | Whether 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. |
aServiceId | Service which the client wants to use. |
aDestination | More information about the service, e.g. this could be a telephone number is the client wanted to make a call. |
aOpaqueData | Additional information to describe the request. |
aDecision | When the request completes successfully, the verdict is written to this variable. |
aStatus | The server completes this request object when it has finished handling the request. |
Capability | |
---|---|
ProtServ |
IMPORT_C void | CancelPrompt | ( | ) |
Cancel the prompt request which was launched by calling Authorise.
Capability | |
---|---|
ProtServ |
IMPORT_C void | Close | ( | ) |
Reimplemented from RScsClientSubsessionBase::Close()
Close and clean up this subsession object.
IMPORT_C TInt | Initialise | ( | 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 | |
---|---|
aSession | Connected session to the UPS server. |
aClient | SS client for whom this session is set up. |