[edk2-devel] [PATCH] TlsAuthConfigDxe: Use HiiPopUp->CreatePopup() instead of CreatePopUp()

Keysound Chang posted 1 patch 4 years ago
Failed in applying to current master (apply log)
.../TlsAuthConfigDxe/TlsAuthConfigDxe.inf     |  1 +
.../TlsAuthConfigDxeStrings.uni               |  2 ++
.../TlsAuthConfigDxe/TlsAuthConfigImpl.c      | 20 +++++++++++++------
.../TlsAuthConfigDxe/TlsAuthConfigImpl.h      |  1 +
4 files changed, 18 insertions(+), 6 deletions(-)
[edk2-devel] [PATCH] TlsAuthConfigDxe: Use HiiPopUp->CreatePopup() instead of CreatePopUp()
Posted by Keysound Chang 4 years ago
From: Keysound Chang <Keysound_Chang@phoenix.com>

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>
---
 .../TlsAuthConfigDxe/TlsAuthConfigDxe.inf     |  1 +
 .../TlsAuthConfigDxeStrings.uni               |  2 ++
 .../TlsAuthConfigDxe/TlsAuthConfigImpl.c      | 20 +++++++++++++------
 .../TlsAuthConfigDxe/TlsAuthConfigImpl.h      |  1 +
 4 files changed, 18 insertions(+), 6 deletions(-)

diff --git a/NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxe.inf b/NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxe.inf
index 3fc924a1d4..0ada835252 100644
--- a/NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxe.inf
+++ b/NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxe.inf
@@ -52,6 +52,7 @@
 [Protocols]

   gEfiDevicePathProtocolGuid                    ## PRODUCES

   gEfiHiiConfigAccessProtocolGuid               ## PRODUCES

+  gEfiHiiPopupProtocolGuid                      ## CONSUMES

 

 [Guids]

   gTlsAuthConfigGuid                            ## PRODUCES  ## GUID

diff --git a/NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxeStrings.uni b/NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxeStrings.uni
index 973b8b7716..2b4a27d24e 100644
--- a/NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxeStrings.uni
+++ b/NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxeStrings.uni
@@ -28,6 +28,8 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 #string STR_TLS_AUTH_CONFIG_SAVE_AND_EXIT            #language en-US "Commit Changes and Exit"

 #string STR_TLS_AUTH_CONFIG_NO_SAVE_AND_EXIT         #language en-US "Discard Changes and Exit"

 

+#string STR_TLS_AUTH_ENROLL_CERT_FAILURE             #language en-US "Enroll Cert Failure!"

+

 #string STR_CERT_TYPE_PCKS_GUID                      #language en-US "GUID for CERT"

 

 #string STR_NULL                                     #language en-US ""

diff --git a/NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigImpl.c b/NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigImpl.c
index 2481d1098f..0ef96dfaf2 100644
--- a/NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigImpl.c
+++ b/NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigImpl.c
@@ -1383,7 +1383,6 @@ TlsAuthConfigAccessCallback (
   OUT    EFI_BROWSER_ACTION_REQUEST             *ActionRequest

   )

 {

-  EFI_INPUT_KEY                   Key;

   EFI_STATUS                      Status;

   RETURN_STATUS                   RStatus;

   TLS_AUTH_CONFIG_PRIVATE_DATA    *Private;

@@ -1391,6 +1390,8 @@ TlsAuthConfigAccessCallback (
   TLS_AUTH_CONFIG_IFR_NVDATA      *IfrNvData;

   UINT16                          LabelId;

   EFI_DEVICE_PATH_PROTOCOL        *File;

+  EFI_HII_POPUP_PROTOCOL          *HiiPopUp;

+  EFI_HII_POPUP_SELECTION         PopUpSelect;

 

   Status           = EFI_SUCCESS;

   File             = NULL;

@@ -1402,6 +1403,11 @@ TlsAuthConfigAccessCallback (
   Private = TLS_AUTH_CONFIG_PRIVATE_FROM_THIS (This);

 

   mTlsAuthPrivateData = Private;

+  Status = gBS->LocateProtocol (&gEfiHiiPopupProtocolGuid, NULL, &HiiPopUp);

+  if (EFI_ERROR (Status)) {

+    DEBUG ((DEBUG_ERROR, "Can't find Form PopUp protocol. Exit (%r)\n", Status));

+    return Status;

+  }

 

   //

   // Retrieve uncommitted data from Browser

@@ -1460,11 +1466,13 @@ TlsAuthConfigAccessCallback (
       if (EFI_ERROR (Status)) {

         CleanFileContext (Private);

 

-        CreatePopUp (

-          EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE,

-          &Key,

-          L"ERROR: Enroll Cert Failure!",

-          NULL

+        HiiPopUp->CreatePopup(

+          HiiPopUp,

+          EfiHiiPopupStyleError,

+          EfiHiiPopupTypeOk,

+          Private->RegisteredHandle,

+          STRING_TOKEN(STR_TLS_AUTH_ENROLL_CERT_FAILURE),

+          &PopUpSelect

           );

       }

       break;

diff --git a/NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigImpl.h b/NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigImpl.h
index e9af492893..68c16845b3 100644
--- a/NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigImpl.h
+++ b/NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigImpl.h
@@ -14,6 +14,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 

 #include <Protocol/HiiConfigAccess.h>

 #include <Protocol/SimpleFileSystem.h>

+#include <Protocol/HiiPopup.h>

 

 //

 // Libraries

-- 
2.23.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#57107): https://edk2.groups.io/g/devel/message/57107
Mute This Topic: https://groups.io/mt/72892619/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-