UserPromptService::RUpsManagement Class Reference

class UserPromptService::RUpsManagement : public RScsClientBase

This class supports the management API for the UPS.

Inherits from

Public Member Functions
RUpsManagement ()
IMPORT_C void CancelAndCloseView ()
IMPORT_C void CancelNotifyPolicyFilesChanged ()
IMPORT_C void CancelUpdateDecision ()
IMPORT_C void Close ()
IMPORT_C TInt Connect ()
IMPORT_C void CreateView (const CDecisionFilter &, TRequestStatus &)
IMPORT_C void DeleteDatabaseL ()
IMPORT_C void DeleteDecisionsForExeL (const TSecureId &)
IMPORT_C CDecisionRecord * NextMatchL ()
IMPORT_C void NotifyPluginsMayHaveChangedL ()
IMPORT_C void NotifyPolicyFilesChanged ( TRequestStatus &)
IMPORT_C void RemoveDecisionsL (const CDecisionFilter &)
IMPORT_C void UpdateDecision ( TUint32 , TBool , TRequestStatus &)
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
RBuf8 iCreateViewFilterBuf
TPckgBuf < TUint32 > iMatchLengthBuf
Inherited Attributes
RHandleBase::iHandle

Constructor & Destructor Documentation

RUpsManagement()

IMPORT_C RUpsManagement ( )

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

Member Functions Documentation

CancelAndCloseView()

IMPORT_C void CancelAndCloseView ( )

Close down a view. This can also be used to cancel an outstanding CreateView request.

capability
ReadDeviceData

CancelNotifyPolicyFilesChanged()

IMPORT_C void CancelNotifyPolicyFilesChanged ( )

Cancel a previous call to NotifyPolicyFilesChanged.

Normally this functions should not be used, it is only present for testing the handling of abnormal events.

capability
SWI observer plugin SID only

CancelUpdateDecision()

IMPORT_C void CancelUpdateDecision ( )

Cancel an outstanding UpdateDecision request.

Normally this will not be used because an UpdateDecision call will complete very quickly, but internally the request is asynchronous and exposing the cancel API allows the cancel code path to be tested.

capability
AllFiles

Close()

IMPORT_C void Close ( )

Cleanup and call RScsClientBase::Close

Connect()

IMPORT_C TInt Connect ( )

Connect to the UPS server.

CreateView(const CDecisionFilter &, TRequestStatus &)

IMPORT_C void CreateView ( const CDecisionFilter & aFilter,
TRequestStatus & aStatus
)

Creates a view for records which match the supplied CDecisionFilter .

If the CDecisionFilter is created using the constructor which specifies all fields (or all fields are set), then an exact match will be searched for. If the CDecisionFilter is created without parameters, then any fields which are not set will match any record.

Only one view can be active in a single RUpsManagement session at any one time.

Simultaneous database updates, either from this management session, another session or the main UPS operation may cause the query to be aborted with KErrAbort.

When you are finished with the view you should call CancelAndCloseView (otherwise you will not be able to create a new view).

capability
ReadDeviceData

Parameters

const CDecisionFilter & aFilter Specifies the filter to be matched.
TRequestStatus & aStatus

DeleteDatabaseL()

IMPORT_C void DeleteDatabaseL ( )

Deletes all stored UPS decisions.

capability
WriteDeviceData

DeleteDecisionsForExeL(const TSecureId &)

IMPORT_C void DeleteDecisionsForExeL ( const TSecureId & aExeSid )

The following three APIs are only for use by the UPS swi observer plugin and are discouraged for general use

Delete all decisions in the database for the specified executable.

capability
SWI observer plugin SID only

Parameters

const TSecureId & aExeSid The SID of the executable which has been deleted.

NextMatchL()

IMPORT_C CDecisionRecord * NextMatchL ( )

Returns the next matching record in the view created with CreateViewL.

Simultaneous database updates, either from this management session, another session or the main UPS operation may cause the query to be aborted with KErrAbort.

When you are finished with the view you should call CancelAndCloseView.

capability
ReadDeviceData

NotifyPluginsMayHaveChangedL()

IMPORT_C void NotifyPluginsMayHaveChangedL ( )

Notify the UPS that an ECOM plugin has been installed somewhere, which may be an evaluator. The UPS will reload all ECOM plugins ASAP.

capability
SWI observer plugin SID only

NotifyPolicyFilesChanged(TRequestStatus &)

IMPORT_C void NotifyPolicyFilesChanged ( TRequestStatus & aStatus )

Policy files have been added, changed or deleted.

The UPS server will rebuild its policy file cache and delete decisions which relate to policy files which are no longer active (ie. have been deleted, or eclipsed by a policy file with a different major version number).

capability
SWI observer plugin SID only

Parameters

TRequestStatus & aStatus

RemoveDecisionsL(const CDecisionFilter &)

IMPORT_C void RemoveDecisionsL ( const CDecisionFilter & aFilter )

Removes all records which match the supplied CDecisionFilter .

The filter can match/delete multiple records in one operation.

capability
WriteDeviceData

Parameters

const CDecisionFilter & aFilter Specifies the records to be deleted.

UpdateDecision(TUint32, TBool, TRequestStatus &)

IMPORT_C void UpdateDecision ( TUint32 aRecordId,
TBool aAllow,
TRequestStatus & aStatus
)

Updates the single record which matches the unique record ID.

This API ONLY updates the CDecisionRecord result field. The only legal values are ETrue (always) or EFalse (never)

capability
AllFiles

Parameters

TUint32 aRecordId Specifies the single record to update.
TBool aAllow Allow or reject the request.
TRequestStatus & aStatus

Member Data Documentation

RBuf8 iCreateViewFilterBuf

RBuf8 iCreateViewFilterBuf [private]

TPckgBuf< TUint32 > iMatchLengthBuf

TPckgBuf < TUint32 > iMatchLengthBuf [private]