]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/SetupBrowserDxe/Setup.h
Update question validation logic, move the check pointer from after user input to...
[mirror_edk2.git] / MdeModulePkg / Universal / SetupBrowserDxe / Setup.h
index 44094efb2961981e72ed4525ee30b98c4eb8c228..cb3cc320bca4135f75ed0104431c32d6397b67a3 100644 (file)
@@ -227,6 +227,7 @@ typedef struct {
   EFI_HII_VALUE     Result;          // Expression evaluation result\r
 \r
   UINT8             TimeOut;         // For EFI_IFR_WARNING_IF\r
+  EFI_IFR_OP_HEADER *OpCode;         // Save the opcode buffer.\r
 \r
   LIST_ENTRY        OpCodeListHead;  // OpCodes consist of this expression (EXPRESSION_OPCODE)\r
 } FORM_EXPRESSION;\r
@@ -1675,4 +1676,39 @@ ConfigRequestAdjust (
   IN  BOOLEAN                 RespString\r
   );\r
 \r
+/**\r
+  Perform question check. \r
+  \r
+  If one question has more than one check, process form high priority to low.\r
+\r
+  @param  FormSet                FormSet data structure.\r
+  @param  Form                   Form data structure.\r
+  @param  Question               The Question to be validated.\r
+\r
+  @retval EFI_SUCCESS            Form validation pass.\r
+  @retval other                  Form validation failed.\r
+\r
+**/\r
+EFI_STATUS\r
+ValueChangedValidation (\r
+  IN  FORM_BROWSER_FORMSET            *FormSet,\r
+  IN  FORM_BROWSER_FORM               *Form,\r
+  IN  FORM_BROWSER_STATEMENT          *Question\r
+  );\r
+\r
+/**\r
+  Pop up the error info.\r
+\r
+  @param      BrowserStatus    The input browser status.\r
+  @param      OpCode           The opcode use to get the erro info and timeout value.\r
+  @param      ErrorString      Error string used by BROWSER_NO_SUBMIT_IF.\r
+\r
+**/\r
+VOID\r
+PopupErrorMessage (\r
+  IN UINT32                BrowserStatus,\r
+  IN EFI_IFR_OP_HEADER     *OpCode, OPTIONAL\r
+  IN CHAR16                *ErrorString\r
+  );\r
+\r
 #endif\r