Introduction Dialog creators are ECom plug-ins
+that device creators can write to generate the dialogs containing prompts
+for phone users.
The plug-in has an API that consists of two asynchronous
+functions:
The PrepareDialog() function.
This function is called first by the UPS server. It enables the dialog creator
to query other system servers such as AppArc or the SIS registry to retrieve
@@ -27,7 +35,8 @@
The UPS displays only one prompt at a time so it is possible for
there to be a delay between calling the function to prepare the dialog and
the function to display the dialog. It is also possible for other dialogs
-to be displayed between the dialog being prepared and its being displayed.
Both PrepareDialog() and DisplayDialog() are asynchronous and must support cancellation through CActive::Cancel.
+to be displayed between the dialog being prepared and its being displayed.
Both PrepareDialog() and DisplayDialog() are asynchronous and must support cancellation through CActive::Cancel.
If either function is cancelled, the dialog creator instance is destroyed
without calling further methods.
The work split between PrepareDialog() and DisplayDialog() described
above is a recommendation, and some of the functionality could be implemented
@@ -48,7 +57,8 @@
the dialog
The parameters to PrepareDialog() are
mostly const pointers and references to the data that has
already been generated by the UPS or policy evaluator.
The following
-table describes the parameters for the PrepareDialog() function:
+table describes the parameters for the PrepareDialog() function: The UPS does not allow any responses to be returned
+
The UPS does not allow any responses to be returned
to the system server except those defined in the UPS policy file. If the dialog
creator returns an option that was not specified in the policy, the request
is rejected and EUpsDecNo is returned.
Your implementation
@@ -118,28 +128,16 @@
is called through a switch statement, which can be seen in
the full code sample at the end of this section: