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_C CDialogCreator ( ) [protected]

Constructor

~CDialogCreator()

IMPORT_C ~CDialogCreator ( )

Destructor

Member Functions Documentation

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

void DisplayDialog ( 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 & aOptionSelected The option selected by the user. (OUT parameter)
const CFingerprint *& aFingerprint A 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 & aEvaluatorInfo The 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 & aStatus The request object to complete once the dialog has been closed.

Extension_(TUint, TAny *&, TAny *)

IMPORT_C TInt Extension_ ( TUint aExtensionId,
TAny *& a0,
TAny * a1
) [protected, virtual]

Parameters

TUint aExtensionId
TAny *& a0
TAny * a1

GetExtension(TUint, TAny *&, TAny *)

IMPORT_C TInt GetExtension ( TUint aExtensionId,
TAny *& a0,
TAny * a1
)

Allows extension of this interface. Calls Extension_

Parameters

TUint aExtensionId The UID of the interface to instantiate.
TAny *& a0 A reference to a pointer that should be set to the newly instantiated object.
TAny * a1 Data 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 & aDialogCreatorImplementationId The 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 &)

void PrepareDialog ( 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 & aRequest The parameters supplied by the system server.
const CPolicy & aPolicy The policy being evaluated.
const RPointerArray < CFingerprint > & aFingerprints The 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 * aClientEntity Identifies the entity within the client process that requested the service. NULL if the client processs is not an execution host.
const TAny * aDialogCreatorParams Opaque data generated by the policy evaluator.
TRequestStatus & aStatus The 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]