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 voidCancelAndCloseView()
IMPORT_C voidCancelNotifyPolicyFilesChanged()
IMPORT_C voidCancelUpdateDecision()
IMPORT_C voidClose()
IMPORT_C TIntConnect()
IMPORT_C voidCreateView(const CDecisionFilter &, TRequestStatus &)
IMPORT_C voidDeleteDatabaseL()
IMPORT_C voidDeleteDecisionsForExeL(const TSecureId &)
IMPORT_C CDecisionRecord *NextMatchL()
IMPORT_C voidNotifyPluginsMayHaveChangedL()
IMPORT_C voidNotifyPolicyFilesChanged(TRequestStatus &)
IMPORT_C voidRemoveDecisionsL(const CDecisionFilter &)
IMPORT_C voidUpdateDecision(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_CRUpsManagement()

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

Member Functions Documentation

CancelAndCloseView()

IMPORT_C voidCancelAndCloseView()

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

capability
ReadDeviceData

CancelNotifyPolicyFilesChanged()

IMPORT_C voidCancelNotifyPolicyFilesChanged()

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 voidCancelUpdateDecision()

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 voidClose()

Cleanup and call RScsClientBase::Close

Connect()

IMPORT_C TIntConnect()

Connect to the UPS server.

CreateView(const CDecisionFilter &, TRequestStatus &)

IMPORT_C voidCreateView(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 & aFilterSpecifies the filter to be matched.
TRequestStatus & aStatus

DeleteDatabaseL()

IMPORT_C voidDeleteDatabaseL()

Deletes all stored UPS decisions.

capability
WriteDeviceData

DeleteDecisionsForExeL(const TSecureId &)

IMPORT_C voidDeleteDecisionsForExeL(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 & aExeSidThe 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 voidNotifyPluginsMayHaveChangedL()

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 voidNotifyPolicyFilesChanged(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 voidRemoveDecisionsL(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 & aFilterSpecifies the records to be deleted.

UpdateDecision(TUint32, TBool, TRequestStatus &)

IMPORT_C voidUpdateDecision(TUint32aRecordId,
TBoolaAllow,
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 aRecordIdSpecifies the single record to update.
TBool aAllowAllow or reject the request.
TRequestStatus & aStatus

Member Data Documentation

RBuf8 iCreateViewFilterBuf

RBuf8 iCreateViewFilterBuf[private]

TPckgBuf< TUint32 > iMatchLengthBuf

TPckgBuf< TUint32 >iMatchLengthBuf[private]