REF:https://bugzilla.tianocore.org/show_bug.cgi?id=2635
According to EDK2 Driver Writer's Guide For UEFI 2.3.1, 4.2.18 Offer
alternatives to function keys. Configuration of drivers should be
accomplished via HII and via OS-present interfaces.
Cc: Jiaxin Wu <jiaxin.wu@intel.com>
Cc: Siyuan Fu <siyuan.fu@intel.com>
Signed-off-by: Maciej Rabeda <maciej.rabeda@linux.intel.com>
Reviewed-by: Siyuan Fu <siyuan.fu@intel.com>
Reviewed-by: Maciej Rabeda <maciej.rabeda@linux.intel.com>
[Protocols]\r
gEfiDevicePathProtocolGuid ## PRODUCES\r
gEfiHiiConfigAccessProtocolGuid ## PRODUCES\r
[Protocols]\r
gEfiDevicePathProtocolGuid ## PRODUCES\r
gEfiHiiConfigAccessProtocolGuid ## PRODUCES\r
+ gEfiHiiPopupProtocolGuid ## CONSUMES\r
\r
[Guids]\r
gTlsAuthConfigGuid ## PRODUCES ## GUID\r
\r
[Guids]\r
gTlsAuthConfigGuid ## PRODUCES ## GUID\r
#string STR_TLS_AUTH_CONFIG_SAVE_AND_EXIT #language en-US "Commit Changes and Exit"\r
#string STR_TLS_AUTH_CONFIG_NO_SAVE_AND_EXIT #language en-US "Discard Changes and Exit"\r
\r
#string STR_TLS_AUTH_CONFIG_SAVE_AND_EXIT #language en-US "Commit Changes and Exit"\r
#string STR_TLS_AUTH_CONFIG_NO_SAVE_AND_EXIT #language en-US "Discard Changes and Exit"\r
\r
+#string STR_TLS_AUTH_ENROLL_CERT_FAILURE #language en-US "Enroll Cert Failure!"\r
+\r
#string STR_CERT_TYPE_PCKS_GUID #language en-US "GUID for CERT"\r
\r
#string STR_NULL #language en-US ""\r
#string STR_CERT_TYPE_PCKS_GUID #language en-US "GUID for CERT"\r
\r
#string STR_NULL #language en-US ""\r
OUT EFI_BROWSER_ACTION_REQUEST *ActionRequest\r
)\r
{\r
OUT EFI_BROWSER_ACTION_REQUEST *ActionRequest\r
)\r
{\r
EFI_STATUS Status;\r
RETURN_STATUS RStatus;\r
TLS_AUTH_CONFIG_PRIVATE_DATA *Private;\r
EFI_STATUS Status;\r
RETURN_STATUS RStatus;\r
TLS_AUTH_CONFIG_PRIVATE_DATA *Private;\r
TLS_AUTH_CONFIG_IFR_NVDATA *IfrNvData;\r
UINT16 LabelId;\r
EFI_DEVICE_PATH_PROTOCOL *File;\r
TLS_AUTH_CONFIG_IFR_NVDATA *IfrNvData;\r
UINT16 LabelId;\r
EFI_DEVICE_PATH_PROTOCOL *File;\r
+ EFI_HII_POPUP_PROTOCOL *HiiPopUp;\r
+ EFI_HII_POPUP_SELECTION PopUpSelect;\r
\r
Status = EFI_SUCCESS;\r
File = NULL;\r
\r
Status = EFI_SUCCESS;\r
File = NULL;\r
Private = TLS_AUTH_CONFIG_PRIVATE_FROM_THIS (This);\r
\r
mTlsAuthPrivateData = Private;\r
Private = TLS_AUTH_CONFIG_PRIVATE_FROM_THIS (This);\r
\r
mTlsAuthPrivateData = Private;\r
+ Status = gBS->LocateProtocol (&gEfiHiiPopupProtocolGuid, NULL, (VOID**) &HiiPopUp);\r
+ if (EFI_ERROR (Status)) {\r
+ DEBUG ((DEBUG_ERROR, "Can't find Form PopUp protocol. Exit (%r)\n", Status));\r
+ return Status;\r
+ }\r
\r
//\r
// Retrieve uncommitted data from Browser\r
\r
//\r
// Retrieve uncommitted data from Browser\r
if (EFI_ERROR (Status)) {\r
CleanFileContext (Private);\r
\r
if (EFI_ERROR (Status)) {\r
CleanFileContext (Private);\r
\r
- CreatePopUp (\r
- EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE,\r
- &Key,\r
- L"ERROR: Enroll Cert Failure!",\r
- NULL\r
+ HiiPopUp->CreatePopup (\r
+ HiiPopUp,\r
+ EfiHiiPopupStyleError,\r
+ EfiHiiPopupTypeOk,\r
+ Private->RegisteredHandle,\r
+ STRING_TOKEN (STR_TLS_AUTH_ENROLL_CERT_FAILURE),\r
+ &PopUpSelect\r
\r
#include <Protocol/HiiConfigAccess.h>\r
#include <Protocol/SimpleFileSystem.h>\r
\r
#include <Protocol/HiiConfigAccess.h>\r
#include <Protocol/SimpleFileSystem.h>\r
+#include <Protocol/HiiPopup.h>\r