The RouteConfig() function is also called now as expected.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <ler...@redhat.com>
---
 OvmfPkg/PlatformDxe/Platform.h        |   3 +++
 OvmfPkg/PlatformDxe/PlatformForms.vfr |  13 +++++++++++++
 OvmfPkg/PlatformDxe/Platform.c        |  22 ++++++++++++++++++++++
 OvmfPkg/PlatformDxe/Platform.uni      | Bin 2992 -> 3298 bytes
 4 files changed, 38 insertions(+)

diff --git a/OvmfPkg/PlatformDxe/Platform.h b/OvmfPkg/PlatformDxe/Platform.h
index 6ce67ff..432eb5b 100644
--- a/OvmfPkg/PlatformDxe/Platform.h
+++ b/OvmfPkg/PlatformDxe/Platform.h
@@ -28,6 +28,9 @@
 #define LABEL_RES_NEXT         1
 #define QUESTION_RES_NEXT      2
 
+#define QUESTION_SAVE_EXIT     3
+#define QUESTION_DISCARD_EXIT  4
+
 //
 // This structure describes the form state. Its fields relate strictly to the
 // visual widgets on the form.
diff --git a/OvmfPkg/PlatformDxe/PlatformForms.vfr 
b/OvmfPkg/PlatformDxe/PlatformForms.vfr
index 61935c3..a254572 100644
--- a/OvmfPkg/PlatformDxe/PlatformForms.vfr
+++ b/OvmfPkg/PlatformDxe/PlatformForms.vfr
@@ -56,6 +56,19 @@ formset
     // We'll dynamically generate a one-of-many selection at this label.
     //
     label LABEL_RES_NEXT;
+
+    text
+      help  = STRING_TOKEN(STR_SAVE_EXIT),
+      text  = STRING_TOKEN(STR_SAVE_EXIT),
+      flags = INTERACTIVE,
+      key   = QUESTION_SAVE_EXIT;
+
+    text
+      help  = STRING_TOKEN(STR_DISCARD_EXIT),
+      text  = STRING_TOKEN(STR_DISCARD_EXIT),
+      flags = INTERACTIVE,
+      key   = QUESTION_DISCARD_EXIT;
+
   endform;
 
 endformset;
diff --git a/OvmfPkg/PlatformDxe/Platform.c b/OvmfPkg/PlatformDxe/Platform.c
index c3021e8..765c6de 100644
--- a/OvmfPkg/PlatformDxe/Platform.c
+++ b/OvmfPkg/PlatformDxe/Platform.c
@@ -185,6 +185,8 @@ RouteConfig (
   OUT       EFI_STRING                      *Progress
 )
 {
+  DEBUG ((EFI_D_VERBOSE, "%a: Configuration=\"%s\"\n", __FUNCTION__,
+    Configuration));
   return EFI_SUCCESS;
 }
 
@@ -201,6 +203,26 @@ Callback (
   OUT    EFI_BROWSER_ACTION_REQUEST             *ActionRequest
   )
 {
+  DEBUG ((EFI_D_VERBOSE, "%a: Action=0x%Lx QuestionId=%d Type=%d\n",
+    __FUNCTION__, (UINT64) Action, QuestionId, Type));
+
+  if (Action != EFI_BROWSER_ACTION_CHANGED) {
+    return EFI_UNSUPPORTED;
+  }
+
+  switch (QuestionId) {
+  case QUESTION_SAVE_EXIT:
+    *ActionRequest = EFI_BROWSER_ACTION_REQUEST_FORM_SUBMIT_EXIT;
+    break;
+
+  case QUESTION_DISCARD_EXIT:
+    *ActionRequest = EFI_BROWSER_ACTION_REQUEST_FORM_DISCARD_EXIT;
+    break;
+
+  default:
+    break;
+  }
+
   return EFI_SUCCESS;
 }
 
diff --git a/OvmfPkg/PlatformDxe/Platform.uni b/OvmfPkg/PlatformDxe/Platform.uni
index 
6ce844a664aa914069069f08380c9f7997fd9642..d8d5b0bb4de9c0632dc183369fa7d46f455e9143
 100644
GIT binary patch
delta 174
zcmdlW{z!7e8t%zI*dzpl85|kH7+e|RfjEM}lObgCLUzf?``DFqof+~Oa)B_Dp@cz!
z!I>e0A(0`EA)O(Wp%};qu~UGwD?<fH#pI7{^5QN){lP$$jtoHzE=VR8vYA@B096$;
UBm?yof%OqEk3ornmw^k60e0acvH$=8

delta 12
TcmaDPxj}rx8g3R|1}+8w9ykL<

-- 
1.8.3.1



------------------------------------------------------------------------------
Subversion Kills Productivity. Get off Subversion & Make the Move to Perforce.
With Perforce, you get hassle-free workflows. Merge that actually works. 
Faster operations. Version large binaries.  Built-in WAN optimization and the
freedom to use Git, Perforce or both. Make the move to Perforce.
http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to