• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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