UserPromptService::CDialogCreator Class Reference

class UserPromptService::CDialogCreator : public CActive

Abstract base class for dialog creator ECOM plug-ins.

Dialog creators are responsible for generating and displaying prompt dialogs. Normally, the notifier framework (RNotifier) would be used to interact with the user interface layer.

In addition to the data supplied by the system server the dialog creator may also include data from other servers such as AppArc or the SIS registry. Since retrieving this extra information may take an unpredictable amount of time the dialog creator PrepareDialog method is asynchronous to ensure the user prompt service is not blocked.

  • A new dialog creator object is created for each request that requires a prompt. The object is destroyed after DisplayDialog has been called.

Inherits from

Constructor & Destructor Documentation

CDialogCreator()

IMPORT_CCDialogCreator()[protected]

Constructor

~CDialogCreator()

IMPORT_C~CDialogCreator()

Destructor

Member Functions Documentation

DisplayDialog(CPolicy::TOptions &, const CFingerprint *&, TUint &, TRequestStatus &)

voidDisplayDialog(CPolicy::TOptions &aOptionSelected,
const CFingerprint *&aFingerprint,
TUint &aEvaluatorInfo,
TRequestStatus &aStatus
)[pure virtual]

Asynchronously, displays the dialog created by PrepareDialog and interprets the result.

Note that the UPS server expects aOptionSelected to match one of the enabled options specified in the policy entry which was passed into PrepareDialog. If no legal option is selected, it will be treated as a ENo.

Parameters

CPolicy::TOptions & aOptionSelectedThe option selected by the user. (OUT parameter)
const CFingerprint *& aFingerprintA reference to a pointer used to return the fingerprint to use in the new decision record if the Always or Never button was selected. Ownership is NOT transferred to the caller. (OUT parameter)
TUint & aEvaluatorInfoThe value to write to the decision record's evaluatorInfo field if the Always or Never option was selected. The default value for this field is 0x00000000 for a new record or the previous value if the policy evaluator forced a prompt to be displayed and a decision record already existed. (IN/OUT parameter)
TRequestStatus & aStatusThe request object to complete once the dialog has been closed.

Extension_(TUint, TAny *&, TAny *)

IMPORT_C TIntExtension_(TUintaExtensionId,
TAny *&a0,
TAny *a1
)[protected, virtual]

Parameters

TUint aExtensionId
TAny *& a0
TAny * a1

GetExtension(TUint, TAny *&, TAny *)

IMPORT_C TIntGetExtension(TUintaExtensionId,
TAny *&a0,
TAny *a1
)

Allows extension of this interface. Calls Extension_

Parameters

TUint aExtensionIdThe UID of the interface to instantiate.
TAny *& a0A reference to a pointer that should be set to the newly instantiated object.
TAny * a1Data specific to the instantiate of the specified interface.

NewL(const TUid &)

IMPORT_C CDialogCreator *NewL(const TUid &aDialogCreatorImplementationId)[static]

Creates a new dialog creator.

Parameters

const TUid & aDialogCreatorImplementationIdThe UID of the dialog creator implemenation as specified in the policy file.

PrepareDialog(const CPromptRequest &, const CPolicy &, const RPointerArray< CFingerprint > &, const CClientEntity *, const TAny *, TRequestStatus &)

voidPrepareDialog(const CPromptRequest &aRequest,
const CPolicy &aPolicy,
const RPointerArray< CFingerprint > &aFingerprints,
const CClientEntity *aClientEntity,
const TAny *aDialogCreatorParams,
TRequestStatus &aStatus
)[pure virtual]

Asynchronously retrieves and prepares the data needed to display the dialog.

The const parameters aRequest, aPolicy, aFingerprints, aDialogCreatorParams persist until after the the dialog creator has been destroyed; therefore, the dialog creator may safely use pointers to this data internally.

Parameters

const CPromptRequest & aRequestThe parameters supplied by the system server.
const CPolicy & aPolicyThe policy being evaluated.
const RPointerArray< CFingerprint > & aFingerprintsThe array of finger prints generated by the policy evaluator. This may be empty if the policy does not allow the Always or Never options.
const CClientEntity * aClientEntityIdentifies the entity within the client process that requested the service. NULL if the client processs is not an execution host.
const TAny * aDialogCreatorParamsOpaque data generated by the policy evaluator.
TRequestStatus & aStatusThe request object to complete once the dialog is ready.

Member Data Documentation

TUid iDtor_ID_Key

TUid iDtor_ID_Key[private]

TAny * iReserved

TAny *iReserved[private]