]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Install a Framework SetupBrowser protocol interface. But this interface will return...
authorqwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 5 Jun 2008 06:19:12 +0000 (06:19 +0000)
committerqwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 5 Jun 2008 06:19:12 +0000 (06:19 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5331 6f19259b-4bc3-4df7-8a09-765794883524

EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/FrameworkHiiToUefiHiiThunk.inf
EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/HiiDatabase.c
EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/HiiDatabase.h

index 7f61e7063f0a8008560ba60750f81c5465e0a3d7..8085587794b81506e4d7c60102cb518b7dba1f37 100644 (file)
@@ -90,6 +90,7 @@
   gEfiHiiConfigAccessProtocolGuid\r
   gEfiFormCallbackProtocolGuid\r
   gEfiUnicodeCollation2ProtocolGuid\r
+  gEfiFormBrowserProtocolGuid\r
 \r
 [Depex]\r
   gEfiHiiImageProtocolGuid AND\r
index 26bd38d5ba3275f71524e02572616d60ab87d657..e33b2e277281db7306221a55c39b77b61e2acf5a 100644 (file)
@@ -63,6 +63,16 @@ EFI_HII_THUNK_PRIVATE_DATA mHiiThunkPrivateDataTempate = {
   },\r
 };\r
 \r
+EFI_FORMBROWSER_THUNK_PRIVATE_DATA mBrowserThunkPrivateDataTemplate = {\r
+  EFI_FORMBROWSER_THUNK_PRIVATE_DATA_SIGNATURE,\r
+  (EFI_HANDLE) NULL,\r
+  {\r
+    ThunkSendForm,\r
+    ThunkCreatePopUp\r
+  }\r
+};\r
+\r
+\r
 CONST EFI_HII_DATABASE_PROTOCOL            *mHiiDatabase;\r
 CONST EFI_HII_FONT_PROTOCOL                *mHiiFontProtocol;\r
 CONST EFI_HII_IMAGE_PROTOCOL               *mHiiImageProtocol;\r
@@ -447,6 +457,14 @@ Returns:
                            );\r
   ASSERT_EFI_ERROR (Status);\r
 \r
+  Status = gBS->InstallProtocolInterface (\r
+                  &mBrowserThunkPrivateDataTemplate.Handle,\r
+                  &gEfiFormBrowserProtocolGuid,\r
+                  EFI_NATIVE_INTERFACE,\r
+                  (VOID *) &mBrowserThunkPrivateDataTemplate.FormBrowser\r
+                  );\r
+  ASSERT_EFI_ERROR (Status);\r
+  \r
   return Status;\r
 }\r
 \r
@@ -619,4 +637,37 @@ Returns:
   return EFI_SUCCESS;\r
 }\r
 \r
+EFI_STATUS\r
+EFIAPI \r
+ThunkSendForm (\r
+  IN  EFI_FORM_BROWSER_PROTOCOL       *This,\r
+  IN  BOOLEAN                         UseDatabase,\r
+  IN  FRAMEWORK_EFI_HII_HANDLE        *Handle,\r
+  IN  UINTN                           HandleCount,\r
+  IN  FRAMEWORK_EFI_IFR_PACKET                  *Packet, OPTIONAL\r
+  IN  EFI_HANDLE                      CallbackHandle, OPTIONAL\r
+  IN  UINT8                           *NvMapOverride, OPTIONAL\r
+  IN  FRAMEWORK_EFI_SCREEN_DESCRIPTOR            *ScreenDimensions, OPTIONAL\r
+  OUT BOOLEAN                         *ResetRequired OPTIONAL\r
+  )\r
+{\r
+  ASSERT (FALSE);\r
+  return EFI_UNSUPPORTED;\r
+}\r
+\r
+EFI_STATUS\r
+EFIAPI \r
+ThunkCreatePopUp (\r
+  IN  UINTN                           NumberOfLines,\r
+  IN  BOOLEAN                         HotKey,\r
+  IN  UINTN                           MaximumStringSize,\r
+  OUT CHAR16                          *StringBuffer,\r
+  OUT EFI_INPUT_KEY                   *KeyValue,\r
+  IN  CHAR16                          *String,\r
+  ...\r
+  )\r
+{\r
+  ASSERT (FALSE);\r
+  return EFI_UNSUPPORTED;\r
+}\r
 \r
index 6e9c28a8418b9c33bc23d97dc462b0c00530dd5a..85822ab17afda7f49d1ae334e6f479f2819afa69 100644 (file)
@@ -23,6 +23,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #include <Guid/GlobalVariable.h>\r
 #include <Protocol/FrameworkFormCallback.h>\r
 #include <Protocol/FrameworkHii.h>\r
+#include <Protocol/FrameworkFormBrowser.h>\r
 \r
 //\r
 // UEFI HII Protocols\r
@@ -142,6 +143,14 @@ typedef struct {
   LIST_ENTRY                     ConfigAccessBufferStorageListHead;\r
 } HII_TRHUNK_CONFIG_ACCESS_PROTOCOL_INSTANCE;\r
 \r
+#define EFI_FORMBROWSER_THUNK_PRIVATE_DATA_SIGNATURE            EFI_SIGNATURE_32 ('F', 'B', 'T', 'd')\r
+typedef struct {\r
+  UINTN                     Signature;\r
+  EFI_HANDLE                Handle;\r
+  EFI_FORM_BROWSER_PROTOCOL FormBrowser;\r
+} EFI_FORMBROWSER_THUNK_PRIVATE_DATA;\r
+\r
+\r
 //\r
 // Extern Variables\r
 //\r
@@ -355,6 +364,34 @@ HiiCompareLanguage (
   )\r
 ;\r
 \r
+\r
+\r
+EFI_STATUS\r
+EFIAPI \r
+ThunkSendForm (\r
+  IN  EFI_FORM_BROWSER_PROTOCOL       *This,\r
+  IN  BOOLEAN                         UseDatabase,\r
+  IN  FRAMEWORK_EFI_HII_HANDLE        *Handle,\r
+  IN  UINTN                           HandleCount,\r
+  IN  FRAMEWORK_EFI_IFR_PACKET                  *Packet, OPTIONAL\r
+  IN  EFI_HANDLE                      CallbackHandle, OPTIONAL\r
+  IN  UINT8                           *NvMapOverride, OPTIONAL\r
+  IN  FRAMEWORK_EFI_SCREEN_DESCRIPTOR            *ScreenDimensions, OPTIONAL\r
+  OUT BOOLEAN                         *ResetRequired OPTIONAL\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI \r
+ThunkCreatePopUp (\r
+  IN  UINTN                           NumberOfLines,\r
+  IN  BOOLEAN                         HotKey,\r
+  IN  UINTN                           MaximumStringSize,\r
+  OUT CHAR16                          *StringBuffer,\r
+  OUT EFI_INPUT_KEY                   *KeyValue,\r
+  IN  CHAR16                          *String,\r
+  ...\r
+  );\r
+\r
 #include "Utility.h"\r
 #include "ConfigAccess.h"\r
 \r