(UINT8) ((sizeof (VENDOR_DEVICE_PATH)) >> 8)\r
}\r
},\r
- //\r
- // {165A028F-0BB2-4b5f-8747-77592E3F6499}\r
- //\r
- { 0x165a028f, 0xbb2, 0x4b5f, { 0x87, 0x47, 0x77, 0x59, 0x2e, 0x3f, 0x64, 0x99 } }\r
+ BOOT_MAINT_FORMSET_GUID\r
},\r
{\r
END_DEVICE_PATH_TYPE,\r
(UINT8) ((sizeof (VENDOR_DEVICE_PATH)) >> 8)\r
}\r
},\r
- //\r
- // {91DB4238-B0C8-472e-BBCF-F3A6541010F4}\r
- //\r
- { 0x91db4238, 0xb0c8, 0x472e, { 0xbb, 0xcf, 0xf3, 0xa6, 0x54, 0x10, 0x10, 0xf4 } }\r
+ FILE_EXPLORE_FORMSET_GUID\r
},\r
{\r
END_DEVICE_PATH_TYPE,\r
}\r
};\r
\r
-EFI_GUID EfiLegacyDevOrderGuid = EFI_LEGACY_DEV_ORDER_VARIABLE_GUID;\r
-EFI_GUID mBootMaintGuid = BOOT_MAINT_FORMSET_GUID;\r
-EFI_GUID mFileExplorerGuid = FILE_EXPLORE_FORMSET_GUID;\r
-\r
CHAR16 mBootMaintStorageName[] = L"BmmData";\r
CHAR16 mFileExplorerStorageName[] = L"FeData";\r
\r
}\r
\r
*Progress = Request;\r
- if ((Request != NULL) && !HiiIsConfigHdrMatch (Request, &mBootMaintGuid, mBootMaintStorageName)) {\r
+ if ((Request != NULL) && !HiiIsConfigHdrMatch (Request, &gBootMaintFormSetGuid, mBootMaintStorageName)) {\r
return EFI_NOT_FOUND;\r
}\r
\r
// Allocate and fill a buffer large enough to hold the <ConfigHdr> template\r
// followed by "&OFFSET=0&WIDTH=WWWWWWWWWWWWWWWW" followed by a Null-terminator\r
//\r
- ConfigRequestHdr = HiiConstructConfigHdr (&mBootMaintGuid, mBootMaintStorageName, Private->BmmDriverHandle);\r
+ ConfigRequestHdr = HiiConstructConfigHdr (&gBootMaintFormSetGuid, mBootMaintStorageName, Private->BmmDriverHandle);\r
Size = (StrLen (ConfigRequestHdr) + 32 + 1) * sizeof (CHAR16);\r
ConfigRequest = AllocateZeroPool (Size);\r
ASSERT (ConfigRequest != NULL);\r
UINT8 *NewLegacyDev;\r
UINT8 *DisMap;\r
EFI_FORM_ID FormId;\r
- Status = EFI_SUCCESS;\r
\r
+ if (Action != EFI_BROWSER_ACTION_CHANGING && Action != EFI_BROWSER_ACTION_CHANGED) { \r
+ //\r
+ // All other action return unsupported.\r
+ //\r
+ return EFI_UNSUPPORTED;\r
+ }\r
+ \r
+ Status = EFI_SUCCESS;\r
+ OldValue = 0;\r
+ NewValue = 0;\r
+ Number = 0;\r
+ OldLegacyDev = NULL;\r
+ NewLegacyDev = NULL;\r
+ NewValuePos = 0;\r
+ DisMap = NULL;\r
+\r
+ Private = BMM_CALLBACK_DATA_FROM_THIS (This);\r
+ //\r
+ // Retrive uncommitted data from Form Browser\r
+ //\r
+ CurrentFakeNVMap = &Private->BmmFakeNvData;\r
+ HiiGetBrowserData (&gBootMaintFormSetGuid, mBootMaintStorageName, sizeof (BMM_FAKE_NV_DATA), (UINT8 *) CurrentFakeNVMap);\r
if (Action == EFI_BROWSER_ACTION_CHANGING) {\r
- if ((Value == NULL) || (ActionRequest == NULL)) {\r
+ if (Value == NULL) {\r
return EFI_INVALID_PARAMETER;\r
}\r
-\r
- OldValue = 0;\r
- NewValue = 0;\r
- Number = 0;\r
- OldLegacyDev = NULL;\r
- NewLegacyDev = NULL;\r
- NewValuePos = 0;\r
- DisMap = NULL;\r
- *ActionRequest = EFI_BROWSER_ACTION_REQUEST_NONE;\r
-\r
- Private = BMM_CALLBACK_DATA_FROM_THIS (This);\r
+ \r
UpdatePageId (Private, QuestionId);\r
\r
- //\r
- // Retrive uncommitted data from Form Browser\r
- //\r
- CurrentFakeNVMap = &Private->BmmFakeNvData;\r
- HiiGetBrowserData (&mBootMaintGuid, mBootMaintStorageName, sizeof (BMM_FAKE_NV_DATA), (UINT8 *) CurrentFakeNVMap);\r
-\r
//\r
// need to be subtituded.\r
//\r
switch (QuestionId) {\r
case KEY_VALUE_BOOT_FROM_FILE:\r
Private->FeCurrentState = FileExplorerStateBootFromFile;\r
-\r
- //\r
- // Exit Bmm main formset to send File Explorer formset.\r
- //\r
- *ActionRequest = EFI_BROWSER_ACTION_REQUEST_EXIT;\r
break;\r
\r
case FORM_BOOT_ADD_ID:\r
Private->FeCurrentState = FileExplorerStateAddBootOption;\r
-\r
- //\r
- // Exit Bmm main formset to send File Explorer formset.\r
- //\r
- *ActionRequest = EFI_BROWSER_ACTION_REQUEST_EXIT;\r
break;\r
\r
case FORM_DRV_ADD_FILE_ID:\r
Private->FeCurrentState = FileExplorerStateAddDriverOptionState;\r
-\r
- //\r
- // Exit Bmm main formset to send File Explorer formset.\r
- //\r
- *ActionRequest = EFI_BROWSER_ACTION_REQUEST_EXIT;\r
break;\r
\r
case FORM_DRV_ADD_HANDLE_ID:\r
UpdateTimeOutPage (Private);\r
break;\r
\r
- case FORM_RESET:\r
- gRT->ResetSystem (EfiResetCold, EFI_SUCCESS, 0, NULL);\r
- return EFI_UNSUPPORTED;\r
-\r
case FORM_CON_IN_ID:\r
case FORM_CON_OUT_ID:\r
case FORM_CON_ERR_ID:\r
UpdateSetLegacyDeviceOrderPage (QuestionId, Private);\r
break;\r
\r
- case KEY_VALUE_SAVE_AND_EXIT:\r
- case KEY_VALUE_NO_SAVE_AND_EXIT:\r
-\r
- if (QuestionId == KEY_VALUE_SAVE_AND_EXIT) {\r
- Status = ApplyChangeHandler (Private, CurrentFakeNVMap, Private->BmmPreviousPageId);\r
- if (EFI_ERROR (Status)) {\r
- return Status;\r
- }\r
- } else if (QuestionId == KEY_VALUE_NO_SAVE_AND_EXIT) {\r
- DiscardChangeHandler (Private, CurrentFakeNVMap);\r
- }\r
-\r
- //\r
- // Tell browser not to ask for confirmation of changes,\r
- // since we have already applied or discarded.\r
- //\r
- *ActionRequest = EFI_BROWSER_ACTION_REQUEST_FORM_APPLY;\r
- break;\r
-\r
default:\r
break;\r
}\r
UpdateDriverAddHandleDescPage (Private);\r
}\r
}\r
+ } else if (Action == EFI_BROWSER_ACTION_CHANGED) {\r
+ if ((Value == NULL) || (ActionRequest == NULL)) {\r
+ return EFI_INVALID_PARAMETER;\r
+ }\r
+ \r
+ switch (QuestionId) {\r
+ case KEY_VALUE_SAVE_AND_EXIT:\r
+ case KEY_VALUE_NO_SAVE_AND_EXIT:\r
+ if (QuestionId == KEY_VALUE_SAVE_AND_EXIT) {\r
+ Status = ApplyChangeHandler (Private, CurrentFakeNVMap, Private->BmmPreviousPageId);\r
+ if (EFI_ERROR (Status)) {\r
+ return Status;\r
+ }\r
+ } else if (QuestionId == KEY_VALUE_NO_SAVE_AND_EXIT) {\r
+ DiscardChangeHandler (Private, CurrentFakeNVMap);\r
+ }\r
\r
- //\r
- // Pass changed uncommitted data back to Form Browser\r
- //\r
- Status = HiiSetBrowserData (&mBootMaintGuid, mBootMaintStorageName, sizeof (BMM_FAKE_NV_DATA), (UINT8 *) CurrentFakeNVMap, NULL);\r
- return Status;\r
+ //\r
+ // Tell browser not to ask for confirmation of changes,\r
+ // since we have already applied or discarded.\r
+ //\r
+ *ActionRequest = EFI_BROWSER_ACTION_REQUEST_FORM_SUBMIT_EXIT;\r
+ break; \r
+\r
+ case FORM_RESET:\r
+ gRT->ResetSystem (EfiResetCold, EFI_SUCCESS, 0, NULL);\r
+ return EFI_UNSUPPORTED;\r
+\r
+ default:\r
+ break;\r
+ }\r
}\r
\r
//\r
- // All other action return unsupported.\r
+ // Pass changed uncommitted data back to Form Browser\r
//\r
- return EFI_UNSUPPORTED;\r
+ HiiSetBrowserData (&gBootMaintFormSetGuid, mBootMaintStorageName, sizeof (BMM_FAKE_NV_DATA), (UINT8 *) CurrentFakeNVMap, NULL);\r
+ return EFI_SUCCESS;\r
}\r
\r
/**\r
// Post our Boot Maint VFR binary to the HII database.\r
//\r
BmmCallbackInfo->BmmHiiHandle = HiiAddPackages (\r
- &mBootMaintGuid,\r
+ &gBootMaintFormSetGuid,\r
BmmCallbackInfo->BmmDriverHandle,\r
BmBin,\r
BdsDxeStrings,\r
// Post our File Explorer VFR binary to the HII database.\r
//\r
BmmCallbackInfo->FeHiiHandle = HiiAddPackages (\r
- &mFileExplorerGuid,\r
+ &gFileExploreFormSetGuid,\r
BmmCallbackInfo->FeDriverHandle,\r
FEBin,\r
BdsDxeStrings,\r
\r
HiiUpdateForm (\r
BmmCallbackInfo->BmmHiiHandle,\r
- &mBootMaintGuid,\r
+ &gBootMaintFormSetGuid,\r
FORM_BOOT_SETUP_ID,\r
mStartOpCodeHandle, // Label FORM_BOOT_LEGACY_DEVICE_ID\r
mEndOpCodeHandle // LABEL_END\r
gFormBrowser2,\r
&CallbackData->BmmHiiHandle,\r
1,\r
- &mBootMaintGuid,\r
+ &gBootMaintFormSetGuid,\r
0,\r
NULL,\r
&ActionRequest\r
gFormBrowser2,\r
&CallbackData->FeHiiHandle,\r
1,\r
- &mFileExplorerGuid,\r
+ &gFileExploreFormSetGuid,\r
0,\r
NULL,\r
&ActionRequest\r