]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkCompatibilityPkg/Compatibility/FrameworkHiiOnUefiHiiThunk/HiiDatabase.h
Update FrameworkHiiOnUefiHiiThunk driver due to clean up of FrameworkHii.h.
[mirror_edk2.git] / EdkCompatibilityPkg / Compatibility / FrameworkHiiOnUefiHiiThunk / HiiDatabase.h
index 3d56a41d77f7c75c874f48a0574873451cdd35b3..9b07b29c83c282a86ce6d6b60b12b8329bb49d26 100644 (file)
@@ -46,10 +46,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #include <Library/UefiRuntimeServicesTableLib.h>\r
 #include <Library/HiiLib.h>\r
 #include <Library/UefiLib.h>\r
-\r
-#include <Library/IfrSupportLib.h>\r
-#include <Library/ExtendedIfrSupportLib.h>\r
 #include <Library/PcdLib.h>\r
+#include <Library/LanguageLib.h>\r
 \r
 #include <Guid/MdeModuleHii.h>\r
 \r
@@ -73,8 +71,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 ///\r
 #define ISO_639_2_ENTRY_SIZE            3\r
 \r
-\r
-\r
 #pragma pack (1)\r
 typedef struct {\r
   EFI_HII_PACK_HEADER     FrameworkPackageHeader;\r
@@ -311,7 +307,7 @@ HiiNewString (
 \r
 EFI_STATUS\r
 EFIAPI\r
-HiiGetString (\r
+HiiThunkGetString (\r
   IN     EFI_HII_PROTOCOL           *This,\r
   IN     FRAMEWORK_EFI_HII_HANDLE   Handle,\r
   IN     STRING_REF                 Token,\r
@@ -388,12 +384,12 @@ HiiGetDefaultImage (
 \r
 EFI_STATUS\r
 EFIAPI\r
-HiiUpdateForm (\r
-  IN EFI_HII_PROTOCOL                   *This,\r
-  IN FRAMEWORK_EFI_HII_HANDLE           Handle,\r
-  IN EFI_FORM_LABEL                     Label,\r
-  IN BOOLEAN                            AddData,\r
-  IN FRAMEWORK_EFI_HII_UPDATE_DATA      *Data\r
+HiiThunkUpdateForm (\r
+  IN EFI_HII_PROTOCOL          *This,\r
+  IN FRAMEWORK_EFI_HII_HANDLE  Handle,\r
+  IN EFI_FORM_LABEL            Label,\r
+  IN BOOLEAN                   AddData,\r
+  IN EFI_HII_UPDATE_DATA       *Data\r
   );\r
 \r
 EFI_STATUS\r
@@ -421,12 +417,12 @@ ThunkSendForm (
 EFI_STATUS\r
 EFIAPI \r
 ThunkCreatePopUp (\r
-  IN  UINTN                           NumberOfLines,\r
+  IN  UINTN                           LinesNumber,\r
   IN  BOOLEAN                         HotKey,\r
   IN  UINTN                           MaximumStringSize,\r
   OUT CHAR16                          *StringBuffer,\r
-  OUT EFI_INPUT_KEY                   *KeyValue,\r
-  IN  CHAR16                          *String,\r
+  OUT EFI_INPUT_KEY                   *Key,\r
+  IN  CHAR16                          *FirstString,\r
   ...\r
   );\r
 \r
@@ -451,11 +447,11 @@ NewOrAddPackNotify (
   );\r
 \r
 /**\r
-  Create a EFI_HII_UPDATE_DATA structure used to call IfrLibUpdateForm.\r
+  Create a Hii Update data Handle used to call IfrLibUpdateForm.\r
 \r
-  @param ThunkContext   The HII Thunk Context.\r
-  @param FwUpdateData   The Framework Update Data.\r
-  @param UefiUpdateData The UEFI Update Data.\r
+  @param ThunkContext         The HII Thunk Context.\r
+  @param FwUpdateData         The Framework Update Data.\r
+  @param UefiOpCodeHandle     The UEFI Update Data.\r
 \r
   @retval EFI_SUCCESS       The UEFI Update Data is created successfully.\r
   @retval EFI_UNSUPPORTED   There is unsupported opcode in FwUpdateData.\r
@@ -463,9 +459,9 @@ NewOrAddPackNotify (
 **/\r
 EFI_STATUS\r
 FwUpdateDataToUefiUpdateData (\r
-  IN       HII_THUNK_CONTEXT                *ThunkContext,\r
-  IN CONST FRAMEWORK_EFI_HII_UPDATE_DATA    *FwUpdateData,\r
-  OUT      EFI_HII_UPDATE_DATA              **UefiUpdateData\r
+  IN       HII_THUNK_CONTEXT    *ThunkContext,\r
+  IN CONST EFI_HII_UPDATE_DATA  *FwUpdateData,\r
+  IN       VOID                 *UefiOpCodeHandle\r
   )\r
 ;\r
 \r
@@ -480,6 +476,75 @@ InitSetBrowserStrings (
   )\r
 ;\r
 \r
+/**\r
+  Convert language code from RFC4646 to ISO639-2.\r
+\r
+  LanguageRfc4646 contain a single RFC 4646 code such as\r
+  "en-US" or "fr-FR".\r
+\r
+  The LanguageRfc4646 must be a buffer large enough\r
+  for ISO_639_2_ENTRY_SIZE characters.\r
+\r
+  If LanguageRfc4646 is NULL, then ASSERT.\r
+  If LanguageIso639 is NULL, then ASSERT.\r
+\r
+  @param  LanguageRfc4646        RFC4646 language code.\r
+  @param  LanguageIso639         ISO639-2 language code.\r
+\r
+  @retval EFI_SUCCESS            Language code converted.\r
+  @retval EFI_NOT_FOUND          Language code not found.\r
+\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+ConvertRfc4646LanguageToIso639Language (\r
+  IN  CHAR8   *LanguageRfc4646,\r
+  OUT CHAR8   *LanguageIso639\r
+  )\r
+;\r
+\r
+/**\r
+  Convert language code from ISO639-2 to RFC4646 and return the converted language.\r
+  Caller is responsible for freeing the allocated buffer.\r
+\r
+  LanguageIso639 contain a single ISO639-2 code such as\r
+  "eng" or "fra".\r
+\r
+  If LanguageIso639 is NULL, then ASSERT.\r
+  If LanguageRfc4646 is NULL, then ASSERT.\r
+\r
+  @param  LanguageIso639         ISO639-2 language code.\r
+\r
+  @return the allocated buffer or NULL, if the language is not found.\r
+\r
+**/\r
+CHAR8*\r
+EFIAPI\r
+ConvertIso639LanguageToRfc4646Language (\r
+  IN  CONST CHAR8   *LanguageIso639\r
+  )\r
+;\r
+\r
+/**\r
+  Get next language from language code list (with separator ';').\r
+\r
+  If LangCode is NULL, then ASSERT.\r
+  If Lang is NULL, then ASSERT.\r
+\r
+  @param  LangCode    On input: point to first language in the list. On\r
+                                 output: point to next language in the list, or\r
+                                 NULL if no more language in the list.\r
+  @param  Lang           The first language in the list.\r
+\r
+**/\r
+VOID\r
+EFIAPI\r
+GetNextLanguage (\r
+  IN OUT CHAR8      **LangCode,\r
+  OUT CHAR8         *Lang\r
+  )\r
+;\r
+\r
 #include "Utility.h"\r
 #include "ConfigAccess.h"\r
 \r