1///** @file
2//  Boot Maintenance Utility Formset
3//
4//  Copyright (c) 2004 - 2016, Intel Corporation. All rights reserved.<BR>
5//  This program and the accompanying materials
6//  are licensed and made available under the terms and conditions of the BSD License
7//  which accompanies this distribution.  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#include "FormGuid.h"
16
17formset
18  guid = BOOT_MAINT_FORMSET_GUID,
19  title = STRING_TOKEN(STR_FORM_MAIN_TITLE),
20  help = STRING_TOKEN(STR_BOOT_MAINT_MANAGER_HELP),
21  classguid = gEfiIfrFrontPageGuid,
22
23  varstore BMM_FAKE_NV_DATA,
24    varid = VARSTORE_ID_BOOT_MAINT,
25    name = BmmData,
26    guid = BOOT_MAINT_FORMSET_GUID;
27
28  form formid = FORM_MAIN_ID,
29       title = STRING_TOKEN(STR_FORM_MAIN_TITLE);
30       //
31       // Add this invisible text in order to indicate enter Boot Maintenance Manager form.
32       // To trigger the form open action.
33       //
34       suppressif TRUE;
35          text
36              help  = STRING_TOKEN(STR_NONE),
37              text  = STRING_TOKEN(STR_NONE),
38              flags = INTERACTIVE,
39              key   = KEY_VALUE_TRIGGER_FORM_OPEN_ACTION;
40       endif;
41
42    label LABEL_FORM_MAIN_START;
43    //
44    // This is where we will dynamically add a Action type op-code to show
45    // the platform information.
46    //
47    label LABEL_FORM_MAIN_END;
48
49  endform;
50
51  form formid = FORM_BOOT_SETUP_ID,
52       title = STRING_TOKEN(STR_FORM_BOOT_SETUP_TITLE);
53
54       goto FORM_MAIN_ID,
55            prompt = STRING_TOKEN(STR_FORM_GOTO_MAIN),
56            help = STRING_TOKEN(STR_FORM_GOTO_MAIN);
57            //flags = INTERACTIVE,
58            //key = FORM_MAIN_ID;
59
60       goto FORM_BOOT_SETUP_ID,
61            prompt = STRING_TOKEN(STR_FORM_BOOT_ADD_TITLE),
62            help = STRING_TOKEN(STR_FORM_BOOT_ADD_HELP),
63            flags = INTERACTIVE,
64            key = FORM_BOOT_ADD_ID;
65
66       goto FORM_BOOT_DEL_ID,
67            prompt = STRING_TOKEN(STR_FORM_BOOT_DEL_TITLE),
68            help = STRING_TOKEN(STR_FORM_BOOT_IMMEDIATE_HELP),
69            flags = INTERACTIVE,
70            key = FORM_BOOT_DEL_ID;
71
72       goto FORM_BOOT_CHG_ID,
73            prompt = STRING_TOKEN(STR_FORM_BOOT_CHG_TITLE),
74            help = STRING_TOKEN(STR_FORM_BOOT_IMMEDIATE_HELP),
75            flags = INTERACTIVE,
76            key = FORM_BOOT_CHG_ID;
77  endform;
78
79  form formid = FORM_DRIVER_SETUP_ID,
80       title = STRING_TOKEN(STR_FORM_DRIVER_SETUP_TITLE);
81
82       goto FORM_MAIN_ID,
83            prompt = STRING_TOKEN(STR_FORM_GOTO_MAIN),
84            help = STRING_TOKEN(STR_FORM_GOTO_MAIN);
85            //help = STRING_TOKEN(STR_FORM_GOTO_MAIN),
86            //flags = INTERACTIVE,
87            //key = FORM_MAIN_ID;
88
89       goto FORM_DRV_ADD_ID,
90            prompt = STRING_TOKEN(STR_FORM_DRV_ADD_TITLE),
91            help = STRING_TOKEN(STR_FORM_DRV_ADD_HELP),
92            flags = INTERACTIVE,
93            key = FORM_DRV_ADD_ID;
94
95       goto FORM_DRV_DEL_ID,
96            prompt = STRING_TOKEN(STR_FORM_DRV_DEL_TITLE),
97            help = STRING_TOKEN(STR_FORM_NEXT_BOOT_HELP),
98            flags = INTERACTIVE,
99            key = FORM_DRV_DEL_ID;
100
101       goto FORM_DRV_CHG_ID,
102            prompt = STRING_TOKEN(STR_FORM_DRV_CHG_TITLE),
103            help = STRING_TOKEN(STR_FORM_NEXT_BOOT_HELP),
104            flags = INTERACTIVE,
105            key = FORM_DRV_CHG_ID;
106  endform;
107
108   form formid = FORM_BOOT_ADD_ID,
109       title = STRING_TOKEN(STR_FORM_BOOT_ADD_DESC_TITLE);
110
111       label FORM_BOOT_ADD_ID;
112       label LABEL_END;
113
114       subtitle text = STRING_TOKEN(STR_NULL_STRING);
115
116       string    varid    = BmmData.BootDescriptionData,
117                 questionid = KEY_VALUE_BOOT_DESCRIPTION,
118                 prompt   = STRING_TOKEN(STR_LOAD_OPTION_DESC),
119                 help     = STRING_TOKEN(STR_NULL_STRING),
120                 flags    = INTERACTIVE,
121                 minsize  = 6,
122                 maxsize  = 75,
123       endstring;
124
125       string    varid    = BmmData.BootOptionalData,
126                 questionid = KEY_VALUE_BOOT_OPTION,
127                 prompt   = STRING_TOKEN(STR_OPTIONAL_DATA),
128                 help     = STRING_TOKEN(STR_NULL_STRING),
129                 flags    = INTERACTIVE,
130                 minsize  = 0,
131                 maxsize  = 120,
132       endstring;
133
134       subtitle text = STRING_TOKEN(STR_NULL_STRING);
135
136       text
137         help   = STRING_TOKEN(STR_SAVE_AND_EXIT),
138         text   = STRING_TOKEN(STR_SAVE_AND_EXIT),
139         flags  = INTERACTIVE,
140         key    = KEY_VALUE_SAVE_AND_EXIT_BOOT;
141
142       text
143         help   = STRING_TOKEN(STR_NO_SAVE_AND_EXIT),
144         text   = STRING_TOKEN(STR_NO_SAVE_AND_EXIT),
145         flags  = INTERACTIVE,
146         key    = KEY_VALUE_NO_SAVE_AND_EXIT_BOOT;
147
148  endform;
149
150  form formid = FORM_BOOT_DEL_ID,
151       title = STRING_TOKEN(STR_FORM_BOOT_DEL_TITLE);
152
153       label FORM_BOOT_DEL_ID;
154       label LABEL_END;
155  endform;
156
157  form formid = FORM_BOOT_CHG_ID,
158       title = STRING_TOKEN(STR_FORM_BOOT_CHG_TITLE);
159
160       label FORM_BOOT_CHG_ID;
161       label LABEL_END;
162
163  endform;
164
165  form formid = FORM_DRV_ADD_ID,
166       title = STRING_TOKEN(STR_FORM_DRV_ADD_TITLE);
167
168       goto FORM_MAIN_ID,
169            prompt = STRING_TOKEN(STR_FORM_GOTO_MAIN),
170            help = STRING_TOKEN(STR_FORM_GOTO_MAIN);
171            //flags = INTERACTIVE,
172            //key = FORM_MAIN_ID;
173
174       goto FORM_DRIVER_SETUP_ID,
175            prompt = STRING_TOKEN(STR_FORM_DRV_ADD_FILE_TITLE),
176            help = STRING_TOKEN(STR_FORM_DRV_ADD_FILE_TITLE),
177            flags = INTERACTIVE,
178            key = FORM_DRV_ADD_FILE_ID;
179
180  endform;
181
182  form formid = FORM_DRV_ADD_FILE_ID,
183       title = STRING_TOKEN(STR_FORM_DRV_ADD_DESC_TITLE);
184
185       label FORM_DRV_ADD_FILE_ID;
186       label LABEL_END;
187
188       subtitle text = STRING_TOKEN(STR_NULL_STRING);
189
190       string    varid    = BmmData.DriverDescriptionData,
191                 questionid = KEY_VALUE_DRIVER_DESCRIPTION,
192                 prompt   = STRING_TOKEN(STR_LOAD_OPTION_DESC),
193                 help     = STRING_TOKEN(STR_NULL_STRING),
194                 flags    = INTERACTIVE,
195                 minsize  = 6,
196                 maxsize  = 75,
197       endstring;
198
199       string    varid    = BmmData.DriverOptionalData,
200                 questionid = KEY_VALUE_DRIVER_OPTION,
201                 prompt   = STRING_TOKEN(STR_OPTIONAL_DATA),
202                 help     = STRING_TOKEN(STR_NULL_STRING),
203                 flags    = INTERACTIVE,
204                 minsize  = 0,
205                 maxsize  = 120,
206       endstring;
207
208       checkbox varid    = BmmData.ForceReconnect,
209               prompt   = STRING_TOKEN(STR_LOAD_OPTION_FORCE_RECON),
210               help     = STRING_TOKEN(STR_LOAD_OPTION_FORCE_RECON),
211               flags    = CHECKBOX_DEFAULT,
212               key      = 0,
213       endcheckbox;
214
215       subtitle text = STRING_TOKEN(STR_NULL_STRING);
216
217       text
218         help   = STRING_TOKEN(STR_SAVE_AND_EXIT),
219         text   = STRING_TOKEN(STR_SAVE_AND_EXIT),
220         flags  = INTERACTIVE,
221         key    = KEY_VALUE_SAVE_AND_EXIT_DRIVER;  //BUGBUB: allow duplicate key in one formset???
222
223       text
224         help   = STRING_TOKEN(STR_NO_SAVE_AND_EXIT),
225         text   = STRING_TOKEN(STR_NO_SAVE_AND_EXIT),
226         flags  = INTERACTIVE,
227         key    = KEY_VALUE_NO_SAVE_AND_EXIT_DRIVER;
228  endform;
229
230  form formid = FORM_DRV_DEL_ID,
231       title = STRING_TOKEN(STR_FORM_DRV_DEL_TITLE);
232
233       label FORM_DRV_DEL_ID;
234       label LABEL_END;
235
236  endform;
237
238  form formid = FORM_DRV_CHG_ID,
239       title = STRING_TOKEN(STR_FORM_DRV_CHG_TITLE);
240
241       label FORM_DRV_CHG_ID;
242       label LABEL_END;
243
244  endform;
245
246  form formid = FORM_CON_MAIN_ID,
247       title = STRING_TOKEN(STR_FORM_CON_MAIN_TITLE);
248
249       goto FORM_MAIN_ID,
250       prompt = STRING_TOKEN(STR_FORM_GOTO_MAIN),
251       help = STRING_TOKEN(STR_FORM_GOTO_MAIN);
252       //flags = INTERACTIVE,
253       //key = FORM_MAIN_ID;
254
255       goto FORM_CON_IN_ID,
256       prompt = STRING_TOKEN(STR_FORM_CON_IN_TITLE),
257       help = STRING_TOKEN(STR_FORM_CON_IN_HELP),
258       flags = INTERACTIVE,
259       key = FORM_CON_IN_ID;
260
261       goto FORM_CON_OUT_ID,
262       prompt = STRING_TOKEN(STR_FORM_CON_OUT_TITLE),
263       help = STRING_TOKEN(STR_FORM_CON_OUT_HELP),
264       flags = INTERACTIVE,
265       key = FORM_CON_OUT_ID;
266
267       goto FORM_CON_ERR_ID,
268       prompt = STRING_TOKEN(STR_FORM_STD_ERR_TITLE),
269       help = STRING_TOKEN(STR_FORM_STD_ERR_HELP),
270       flags = INTERACTIVE,
271       key = FORM_CON_ERR_ID;
272
273       goto FORM_CON_MODE_ID,
274       prompt = STRING_TOKEN(STR_FORM_MODE_TITLE),
275       help = STRING_TOKEN(STR_FORM_MODE_HELP),
276       flags = INTERACTIVE,
277       key = FORM_CON_MODE_ID;
278
279       goto FORM_CON_COM_ID,
280       prompt = STRING_TOKEN(STR_FORM_COM_TITLE),
281       help = STRING_TOKEN(STR_FORM_COM_HELP),
282       flags = INTERACTIVE,
283       key = FORM_CON_COM_ID;
284  endform;
285
286  form formid = FORM_CON_MODE_ID,
287       title = STRING_TOKEN(STR_FORM_MODE_TITLE);
288
289       label FORM_CON_MODE_ID;
290       label LABEL_END;
291  endform;
292
293  form formid = FORM_CON_COM_ID,
294       title = STRING_TOKEN(STR_FORM_COM_TITLE);
295
296       label FORM_CON_COM_ID;
297       label LABEL_END;
298  endform;
299
300  form formid = FORM_CON_COM_SETUP_ID,
301       title = STRING_TOKEN(STR_CON_COM_SETUP);
302
303       label FORM_CON_COM_SETUP_ID;
304       label LABEL_END;
305  endform;
306
307  form formid = FORM_FILE_SEEK_ID,
308       title = STRING_TOKEN(STR_FORM_BOOT_ADD_TITLE);
309
310       label FORM_FILE_SEEK_ID;
311       label LABEL_END;
312  endform;
313
314  form formid = FORM_FILE_NEW_SEEK_ID,
315       title = STRING_TOKEN(STR_FORM_BOOT_ADD_TITLE);
316
317       label FORM_FILE_NEW_SEEK_ID;
318       label LABEL_END;
319  endform;
320
321  form formid = FORM_DRV_ADD_HANDLE_ID,
322       title = STRING_TOKEN(STR_FORM_DRV_ADD_HANDLE_TITLE);
323
324       label FORM_DRV_ADD_HANDLE_ID;
325       label LABEL_END;
326  endform;
327
328  form formid = FORM_DRV_ADD_HANDLE_DESC_ID,
329       title = STRING_TOKEN(STR_FORM_DRV_ADD_DESC_TITLE);
330
331       label FORM_DRV_ADD_HANDLE_DESC_ID;
332       label LABEL_END;
333
334  endform;
335
336  form formid = FORM_CON_IN_ID,
337       title = STRING_TOKEN(STR_FORM_CON_IN_TITLE);
338
339       label FORM_CON_IN_ID;
340       label LABEL_END;
341
342  endform;
343
344  form formid = FORM_CON_OUT_ID,
345       title = STRING_TOKEN(STR_FORM_CON_OUT_TITLE);
346
347       label FORM_CON_OUT_ID;
348       label LABEL_END;
349
350  endform;
351
352  form formid = FORM_CON_ERR_ID,
353       title = STRING_TOKEN(STR_FORM_STD_ERR_TITLE);
354
355       label FORM_CON_ERR_ID;
356       label LABEL_END;
357
358  endform;
359
360endformset;
361