1 /** @file 2 This library class defines a set of interfaces to be used by customize Ui module 3 4 Copyright (c) 2016, Intel Corporation. All rights reserved.<BR> 5 This program and the accompanying materials are licensed and made available under 6 the terms and conditions of the BSD License that accompanies this distribution. 7 The full text of the license may be found at 8 http://opensource.org/licenses/bsd-license.php. 9 10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 12 13 **/ 14 15 #ifndef __FRONTPAGE_CUSTOMIZE_UI_SUPPORT_UI_H__ 16 #define __FRONTPAGE_CUSTOMIZE_UI_SUPPORT_UI_H__ 17 18 /** 19 Create continue menu in the front page. 20 21 @param[in] HiiHandle The hii handle for the Uiapp driver. 22 @param[in] StartOpCodeHandle The opcode handle to save the new opcode. 23 24 **/ 25 VOID 26 UiCreateContinueMenu ( 27 IN EFI_HII_HANDLE HiiHandle, 28 IN VOID *StartOpCodeHandle 29 ); 30 31 /** 32 Create empty line menu. 33 34 @param HiiHandle The hii handle for the Uiapp driver. 35 @param StartOpCodeHandle The opcode handle to save the new opcode. 36 37 **/ 38 VOID 39 UiCreateEmptyLine ( 40 IN EFI_HII_HANDLE HiiHandle, 41 IN VOID *StartOpCodeHandle 42 ); 43 44 /** 45 Create Select language menu in the front page with oneof opcode. 46 47 @param[in] HiiHandle The hii handle for the Uiapp driver. 48 @param[in] StartOpCodeHandle The opcode handle to save the new opcode. 49 50 **/ 51 VOID 52 UiCreateLanguageMenu ( 53 IN EFI_HII_HANDLE HiiHandle, 54 IN VOID *StartOpCodeHandle 55 ); 56 57 /** 58 Create Reset menu. 59 60 @param[in] HiiHandle The hii handle for the Uiapp driver. 61 @param[in] StartOpCodeHandle The opcode handle to save the new opcode. 62 63 **/ 64 VOID 65 UiCreateResetMenu ( 66 IN EFI_HII_HANDLE HiiHandle, 67 IN VOID *StartOpCodeHandle 68 ); 69 70 /** 71 Rename the driver name if necessary. 72 73 @param DriverName Input the driver name. 74 @param NewDriverName Return the new driver name. 75 @param EmptyLineAfter Whether need to insert empty line. 76 77 @retval New driver name if compared, else NULL. 78 79 **/ 80 typedef 81 BOOLEAN 82 (EFIAPI *DRIVER_SPECIAL_HANDLER)( 83 IN CHAR16 *DriverName, 84 OUT CHAR16 **NewName, 85 OUT BOOLEAN *EmptyLineAfter 86 ); 87 88 /** 89 Search the drivers in the system which need to show in the front page 90 and insert the menu to the front page. 91 92 @param HiiHandle The hii handle for the Uiapp driver. 93 @param ClassGuid The class guid for the driver which is the target. 94 @param SpecialHandlerFn The pointer to the specail handler function, if any. 95 @param StartOpCodeHandle The opcode handle to save the new opcode. 96 97 @retval EFI_SUCCESS Search the driver success 98 99 **/ 100 EFI_STATUS 101 UiListThirdPartyDrivers ( 102 IN EFI_HII_HANDLE HiiHandle, 103 IN EFI_GUID *ClassGuid, 104 IN DRIVER_SPECIAL_HANDLER SpecialHandlerFn, 105 IN VOID *StartOpCodeHandle 106 ); 107 108 /** 109 This function processes the results of changes in configuration. 110 111 112 @param HiiHandle Points to the hii handle for this formset. 113 @param Action Specifies the type of action taken by the browser. 114 @param QuestionId A unique value which is sent to the original exporting driver 115 so that it can identify the type of data to expect. 116 @param Type The type of value for the question. 117 @param Value A pointer to the data being sent to the original exporting driver. 118 @param ActionRequest On return, points to the action requested by the callback function. 119 @param Status Return the handle status. 120 121 @retval TRUE The callback successfully handled the action. 122 @retval FALSE The callback not supported in this handler. 123 124 **/ 125 BOOLEAN 126 UiSupportLibCallbackHandler ( 127 IN EFI_HII_HANDLE HiiHandle, 128 IN EFI_BROWSER_ACTION Action, 129 IN EFI_QUESTION_ID QuestionId, 130 IN UINT8 Type, 131 IN EFI_IFR_TYPE_VALUE *Value, 132 OUT EFI_BROWSER_ACTION_REQUEST *ActionRequest, 133 OUT EFI_STATUS *Status 134 ); 135 136 #endif 137