]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFrameworkModulePkg/Universal/BdsDxe/BootMaint/FileExplorer.c
Update BdsDxe to use new designed HiiLib, remove the referrence to the original IfrSu...
[mirror_edk2.git] / IntelFrameworkModulePkg / Universal / BdsDxe / BootMaint / FileExplorer.c
index 8253ded9882ba3ef489d7ae5696c7c9f19708442..366aceda18849a6636f982a35b39b0ba28e725c3 100644 (file)
@@ -37,6 +37,7 @@ UpdateFileExplorePage (
   FormId          = 0;\r
 \r
   RefreshUpdateData ();\r
+  mStartLabel->Number = FORM_FILE_EXPLORER_ID;\r
 \r
   for (Index = 0; Index < MenuOption->MenuNumber; Index++) {\r
     NewMenuEntry    = BOpt_GetMenuEntry (MenuOption, Index);\r
@@ -50,13 +51,13 @@ UpdateFileExplorePage (
       //\r
       // Create Text opcode for directory, also create Text opcode for file in BOOT_FROM_FILE_STATE.\r
       //\r
-      CreateActionOpCode (\r
+      HiiCreateActionOpCode (\r
+        mStartOpCodeHandle,\r
         (UINT16) (FILE_OPTION_OFFSET + Index),\r
         NewMenuEntry->DisplayStringToken,\r
         STRING_TOKEN (STR_NULL_STRING),\r
         EFI_IFR_FLAG_CALLBACK,\r
-        0,\r
-        &gUpdateData\r
+        0\r
         );\r
     } else {\r
       //\r
@@ -68,24 +69,23 @@ UpdateFileExplorePage (
         FormId = FORM_DRIVER_ADD_FILE_DESCRIPTION_ID;\r
       }\r
 \r
-      CreateGotoOpCode (\r
+      HiiCreateGotoOpCode (\r
+        mStartOpCodeHandle,\r
         FormId,\r
         NewMenuEntry->DisplayStringToken,\r
         STRING_TOKEN (STR_NULL_STRING),\r
         EFI_IFR_FLAG_CALLBACK,\r
-        (UINT16) (FILE_OPTION_OFFSET + Index),\r
-        &gUpdateData\r
+        (UINT16) (FILE_OPTION_OFFSET + Index)\r
         );\r
     }\r
   }\r
 \r
-  IfrLibUpdateForm (\r
+  HiiUpdateForm (\r
     CallbackData->FeHiiHandle,\r
     &mFileExplorerGuid,\r
     FORM_FILE_EXPLORER_ID,\r
-    FORM_FILE_EXPLORER_ID,\r
-    FALSE,\r
-    &gUpdateData\r
+    mStartOpCodeHandle, // Label FORM_FILE_EXPLORER_ID\r
+    mEndOpCodeHandle    // LABEL_END\r
     );\r
 }\r
 \r
@@ -179,22 +179,22 @@ UpdateFileExplorer (
         // Create Subtitle op-code for the display string of the option.\r
         //\r
         RefreshUpdateData ();\r
+        mStartLabel->Number = FormId;\r
 \r
-        CreateSubTitleOpCode (\r
+        HiiCreateSubTitleOpCode (\r
+          mStartOpCodeHandle,\r
           NewMenuEntry->DisplayStringToken,\r
           0,\r
           0,\r
-          0,\r
-          &gUpdateData\r
+          0\r
           );\r
 \r
-        IfrLibUpdateForm (\r
+        HiiUpdateForm (\r
           CallbackData->FeHiiHandle,\r
           &mFileExplorerGuid,\r
           FormId,\r
-          FormId,\r
-          FALSE,\r
-          &gUpdateData\r
+          mStartOpCodeHandle, // Label FormId\r
+          mEndOpCodeHandle    // LABEL_END\r
           );\r
         break;\r
 \r
@@ -248,7 +248,6 @@ FileExplorerCallback (
   BMM_CALLBACK_DATA     *Private;\r
   FILE_EXPLORER_NV_DATA *NvRamMap;\r
   EFI_STATUS            Status;\r
-  UINTN                 BufferSize;\r
 \r
   if ((Value == NULL) || (ActionRequest == NULL)) {\r
     return EFI_INVALID_PARAMETER;\r
@@ -261,12 +260,13 @@ FileExplorerCallback (
   //\r
   // Retrieve uncommitted data from Form Browser\r
   //\r
-  NvRamMap = &Private->FeFakeNvData;\r
-  BufferSize = sizeof (FILE_EXPLORER_NV_DATA);\r
-  Status = GetBrowserData (NULL, NULL, &BufferSize, (UINT8 *) NvRamMap);\r
-  if (EFI_ERROR (Status)) {\r
-    return Status;\r
+  NvRamMap = (FILE_EXPLORER_NV_DATA *) HiiGetBrowserData (&mFileExplorerGuid, mFileExplorerStorageName, sizeof (FILE_EXPLORER_NV_DATA));\r
+  if (NvRamMap == NULL) {\r
+    return EFI_NOT_FOUND;\r
   }\r
+  CopyMem (&Private->FeFakeNvData, NvRamMap, sizeof (FILE_EXPLORER_NV_DATA));\r
+  FreePool (NvRamMap);\r
+  NvRamMap = &Private->FeFakeNvData;\r
 \r
   if (QuestionId == KEY_VALUE_SAVE_AND_EXIT_BOOT || QuestionId == KEY_VALUE_SAVE_AND_EXIT_DRIVER) {\r
     //\r