UserPromptService::RUpsSession Class Reference

class UserPromptService::RUpsSession : public RScsClientBase

The system server uses this class to establish a connection with the UPS server.

Internally it retrieves and caches authorisation policy information for all the services supported by the current server SID. This information is used to allow the RUpsSubsession to avoid creating a subsession and/or querying the UPS if the request does not require UPS interaction.

Inherits from

Public Member Functions
RUpsSession ()
IMPORT_C void Close ()
IMPORT_C TInt Connect ()
void NotifyPolicyFileChangedL ()
Private Member Functions
void RetrieveClientConfigL ()
Inherited Functions
RHandleBase::Attributes()const
RHandleBase::BTraceId()const
RHandleBase::DoExtendedClose()
RHandleBase::Duplicate(const RThread &,TOwnerType)
RHandleBase::FullName()const
RHandleBase::FullName(TDes &)const
RHandleBase::Handle()const
RHandleBase::HandleInfo(THandleInfo *)
RHandleBase::Name()const
RHandleBase::NotifyDestruction(TRequestStatus &)
RHandleBase::Open(const TFindHandleBase &,TOwnerType)
RHandleBase::OpenByName(const TDesC &,TOwnerType,TInt)
RHandleBase::RHandleBase()
RHandleBase::RHandleBase(TInt)
RHandleBase::SetHandle(TInt)
RHandleBase::SetHandleNC(TInt)
RScsClientBase::CallSessionFunction(TInt)const
RScsClientBase::CallSessionFunction(TInt,const TIpcArgs &)const
RScsClientBase::CallSessionFunction(TInt,const TIpcArgs &,TRequestStatus &)const
RScsClientBase::CancelSessionFunction(TInt)const
RScsClientBase::Connect(const TDesC &,const TVersion &,const TDesC &,const TUidType &)
RScsClientBase::RScsClientBase()
RScsClientBase::ResetServerHeapFail()
RScsClientBase::SetServerHeapFail(TInt)
RScsClientBase::ShutdownServer()
RSessionBase::CreateSession(RServer2,const TVersion &)
RSessionBase::CreateSession(RServer2,const TVersion &,TInt)
RSessionBase::CreateSession(RServer2,const TVersion &,TInt,TIpcSessionType,const TSecurityPolicy *,TRequestStatus *)
RSessionBase::CreateSession(const TDesC &,const TVersion &)
RSessionBase::CreateSession(const TDesC &,const TVersion &,TInt)
RSessionBase::CreateSession(const TDesC &,const TVersion &,TInt,TIpcSessionType,const TSecurityPolicy *,TRequestStatus *)
RSessionBase::CreateSession(const TDesC &,const TVersion &,TInt,TRequestStatus *)
RSessionBase::Open(RMessagePtr2,TInt,TOwnerType)
RSessionBase::Open(RMessagePtr2,TInt,const TSecurityPolicy &,TOwnerType)
RSessionBase::Open(TInt,TOwnerType)
RSessionBase::Open(TInt,const TSecurityPolicy &,TOwnerType)
RSessionBase::Send(TInt)const
RSessionBase::Send(TInt,const TIpcArgs &)const
RSessionBase::SendReceive(TInt)const
RSessionBase::SendReceive(TInt,TRequestStatus &)const
RSessionBase::SendReceive(TInt,const TIpcArgs &)const
RSessionBase::SendReceive(TInt,const TIpcArgs &,TRequestStatus &)const
RSessionBase::SetReturnedHandle(TInt)
RSessionBase::SetReturnedHandle(TInt,RHandleBase &)
RSessionBase::SetReturnedHandle(TInt,const TSecurityPolicy &)
RSessionBase::ShareAuto()
RSessionBase::ShareProtected()
Inherited Enumerations
RHandleBase:TAttributes
RSessionBase:TAttachMode
Private Attributes
CUpsClientConfig * iClientConfig
CPolicyChangeWatcher * iPolicyChangeWatcher
Inherited Attributes
RHandleBase::iHandle

Constructor & Destructor Documentation

RUpsSession()

IMPORT_C RUpsSession ( )

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

Member Functions Documentation

Close()

IMPORT_C void Close ( )

Frees the configuration object and calls RScsClientBase::Close

This function MUST be called by the same thread which Connect() .

Connect()

IMPORT_C TInt Connect ( )

Connect to the UPS server.

The thread which calls this function must be the same one which later calls Close() .

Once connected, this session can be shared by multiple RUpsSubsession objects.

The RUpsSubsession objects are allowed to be in different threads, in which case ShareAuto() must be called before they are created.

NotifyPolicyFileChangedL()

void NotifyPolicyFileChangedL ( )

Policy files have changed so update serviceconfig cache.

RetrieveClientConfigL()

void RetrieveClientConfigL ( ) [private]

Member Data Documentation

CUpsClientConfig * iClientConfig

CUpsClientConfig * iClientConfig [private]

CPolicyChangeWatcher * iPolicyChangeWatcher

CPolicyChangeWatcher * iPolicyChangeWatcher [private]