diff options
Diffstat (limited to 'src/VBox/Devices/EFI/Firmware/MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerCustomizedUi.c')
-rw-r--r-- | src/VBox/Devices/EFI/Firmware/MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerCustomizedUi.c | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerCustomizedUi.c b/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerCustomizedUi.c new file mode 100644 index 00000000..bc2b5888 --- /dev/null +++ b/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerCustomizedUi.c @@ -0,0 +1,93 @@ +/** @file + + This library class defines a set of interfaces to customize Ui module + +Copyright (c) 2016, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ +#include <Uefi.h> +#include <Protocol/HiiConfigAccess.h> +#include "BootMaintenanceManagerCustomizedUiSupport.h" + +/** + Customize menus in the page. + + @param[in] HiiHandle The HII Handle of the form to update. + @param[in] StartOpCodeHandle The context used to insert opcode. + @param[in] CustomizePageType The page type need to be customized. + +**/ +VOID +UiCustomizeBMMPage ( + IN EFI_HII_HANDLE HiiHandle, + IN VOID *StartOpCodeHandle + ) +{ + // + // Create "Boot Option" menu. + // + BmmCreateBootOptionMenu(HiiHandle, StartOpCodeHandle); + // + // Create "Driver Option" menu. + // + BmmCreateDriverOptionMenu(HiiHandle, StartOpCodeHandle); + // + // Create "Com Option" menu. + // + BmmCreateComOptionMenu(HiiHandle, StartOpCodeHandle); + // + // Create "Boot From File" menu. + // + BmmCreateBootFromFileMenu(HiiHandle, StartOpCodeHandle); + + // + // Find third party drivers which need to be shown in the Bmm page. + // + BmmListThirdPartyDrivers (HiiHandle, &gEfiIfrBootMaintenanceGuid, NULL, StartOpCodeHandle); + + // + // Create empty line. + // + BmmCreateEmptyLine (HiiHandle, StartOpCodeHandle); + + // + // Create "Boot Next" menu. + // + BmmCreateBootNextMenu (HiiHandle, StartOpCodeHandle); + // + // Create "Time Out" menu. + // + BmmCreateTimeOutMenu (HiiHandle, StartOpCodeHandle); +} + +/** + This function processes the results of changes in configuration. + + + @param HiiHandle Points to the hii handle for this formset. + @param Action Specifies the type of action taken by the browser. + @param QuestionId A unique value which is sent to the original exporting driver + so that it can identify the type of data to expect. + @param Type The type of value for the question. + @param Value A pointer to the data being sent to the original exporting driver. + @param ActionRequest On return, points to the action requested by the callback function. + + @retval EFI_SUCCESS The callback successfully handled the action. + @retval EFI_OUT_OF_RESOURCES Not enough storage is available to hold the variable and its data. + @retval EFI_DEVICE_ERROR The variable could not be saved. + @retval EFI_UNSUPPORTED The specified Action is not supported by the callback. + +**/ +EFI_STATUS +UiBMMCallbackHandler ( + IN EFI_HII_HANDLE HiiHandle, + IN EFI_BROWSER_ACTION Action, + IN EFI_QUESTION_ID QuestionId, + IN UINT8 Type, + IN EFI_IFR_TYPE_VALUE *Value, + OUT EFI_BROWSER_ACTION_REQUEST *ActionRequest + ) +{ + return EFI_UNSUPPORTED; +} |