BootMaintenanceManagerUiLib: change code for customization.
Change file arrangement to let user easy customize the BMM UI. After this change: 1. UiCustomizeBMMPage function in BootMaintenanceManagerCustomizedUi.c use to let user customize BMM first page menus. UiBMMCallbackHandler function use to handle the callback for the added menus. 2. BootMaintenanceManagerCustomizedUiSupport.c file used to add support functions used by BootMaintenanceManagerCustomizedUi.c file. 3. After this change, only above two files need to be updated if BMM first page menus needed to be changed. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Eric Dong <eric.dong@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
This commit is contained in:
@ -657,138 +657,6 @@ UpdateOrderPage (
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
Create the dynamic page to allow user to set
|
||||
the "BootNext" value.
|
||||
|
||||
@param CallbackData The BMM context data.
|
||||
|
||||
**/
|
||||
VOID
|
||||
UpdateBootNextPage (
|
||||
IN BMM_CALLBACK_DATA *CallbackData
|
||||
)
|
||||
{
|
||||
BM_MENU_ENTRY *NewMenuEntry;
|
||||
BM_LOAD_CONTEXT *NewLoadContext;
|
||||
UINTN NumberOfOptions;
|
||||
UINT16 Index;
|
||||
VOID *OptionsOpCodeHandle;
|
||||
|
||||
NumberOfOptions = BootOptionMenu.MenuNumber;
|
||||
CallbackData->BmmAskSaveOrNot = TRUE;
|
||||
|
||||
UpdatePageStart (CallbackData);
|
||||
|
||||
if (NumberOfOptions > 0) {
|
||||
OptionsOpCodeHandle = HiiAllocateOpCodeHandle ();
|
||||
ASSERT (OptionsOpCodeHandle != NULL);
|
||||
|
||||
CallbackData->BmmFakeNvData.BootNext = NONE_BOOTNEXT_VALUE;
|
||||
|
||||
for (Index = 0; Index < BootOptionMenu.MenuNumber; Index++) {
|
||||
NewMenuEntry = BOpt_GetMenuEntry (&BootOptionMenu, Index);
|
||||
NewLoadContext = (BM_LOAD_CONTEXT *) NewMenuEntry->VariableContext;
|
||||
|
||||
if (NewLoadContext->IsBootNext) {
|
||||
HiiCreateOneOfOptionOpCode (
|
||||
OptionsOpCodeHandle,
|
||||
NewMenuEntry->DisplayStringToken,
|
||||
EFI_IFR_OPTION_DEFAULT,
|
||||
EFI_IFR_TYPE_NUM_SIZE_32,
|
||||
Index
|
||||
);
|
||||
CallbackData->BmmFakeNvData.BootNext = Index;
|
||||
} else {
|
||||
HiiCreateOneOfOptionOpCode (
|
||||
OptionsOpCodeHandle,
|
||||
NewMenuEntry->DisplayStringToken,
|
||||
0,
|
||||
EFI_IFR_TYPE_NUM_SIZE_32,
|
||||
Index
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
if (CallbackData->BmmFakeNvData.BootNext == NONE_BOOTNEXT_VALUE) {
|
||||
HiiCreateOneOfOptionOpCode (
|
||||
OptionsOpCodeHandle,
|
||||
STRING_TOKEN (STR_NONE),
|
||||
EFI_IFR_OPTION_DEFAULT,
|
||||
EFI_IFR_TYPE_NUM_SIZE_32,
|
||||
NONE_BOOTNEXT_VALUE
|
||||
);
|
||||
} else {
|
||||
HiiCreateOneOfOptionOpCode (
|
||||
OptionsOpCodeHandle,
|
||||
STRING_TOKEN (STR_NONE),
|
||||
0,
|
||||
EFI_IFR_TYPE_NUM_SIZE_32,
|
||||
NONE_BOOTNEXT_VALUE
|
||||
);
|
||||
}
|
||||
|
||||
HiiCreateOneOfOpCode (
|
||||
mStartOpCodeHandle,
|
||||
(EFI_QUESTION_ID) BOOT_NEXT_QUESTION_ID,
|
||||
VARSTORE_ID_BOOT_MAINT,
|
||||
BOOT_NEXT_VAR_OFFSET,
|
||||
STRING_TOKEN (STR_BOOT_NEXT),
|
||||
STRING_TOKEN (STR_BOOT_NEXT_HELP),
|
||||
0,
|
||||
EFI_IFR_NUMERIC_SIZE_4,
|
||||
OptionsOpCodeHandle,
|
||||
NULL
|
||||
);
|
||||
|
||||
HiiFreeOpCodeHandle (OptionsOpCodeHandle);
|
||||
}
|
||||
|
||||
UpdatePageEnd (CallbackData);
|
||||
}
|
||||
|
||||
/**
|
||||
Create the dynamic page to allow user to set the "TimeOut" value.
|
||||
|
||||
@param CallbackData The BMM context data.
|
||||
|
||||
**/
|
||||
VOID
|
||||
UpdateTimeOutPage (
|
||||
IN BMM_CALLBACK_DATA *CallbackData
|
||||
)
|
||||
{
|
||||
VOID *DefaultOpCodeHandle;
|
||||
|
||||
CallbackData->BmmAskSaveOrNot = TRUE;
|
||||
|
||||
UpdatePageStart (CallbackData);
|
||||
|
||||
DefaultOpCodeHandle = HiiAllocateOpCodeHandle ();
|
||||
ASSERT (DefaultOpCodeHandle != NULL);
|
||||
HiiCreateDefaultOpCode (DefaultOpCodeHandle, EFI_HII_DEFAULT_CLASS_STANDARD, EFI_IFR_TYPE_NUM_SIZE_16, CallbackData->BmmFakeNvData.BootTimeOut);
|
||||
|
||||
HiiCreateNumericOpCode (
|
||||
mStartOpCodeHandle,
|
||||
(EFI_QUESTION_ID) BOOT_TIME_OUT_QUESTION_ID,
|
||||
VARSTORE_ID_BOOT_MAINT,
|
||||
BOOT_TIME_OUT_VAR_OFFSET,
|
||||
STRING_TOKEN (STR_NUM_AUTO_BOOT),
|
||||
STRING_TOKEN (STR_HLP_AUTO_BOOT),
|
||||
0,
|
||||
EFI_IFR_NUMERIC_SIZE_2 | EFI_IFR_DISPLAY_UINT_DEC,
|
||||
0,
|
||||
65535,
|
||||
0,
|
||||
DefaultOpCodeHandle
|
||||
);
|
||||
|
||||
HiiFreeOpCodeHandle (DefaultOpCodeHandle);
|
||||
|
||||
UpdatePageEnd (CallbackData);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
Refresh the text mode page.
|
||||
|
||||
|
Reference in New Issue
Block a user