]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Make HiiDatabase module not depend on HiiLib; otherwise it will inherit HII_DATABASE_...
authorqhuang8 <qhuang8@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 27 Nov 2008 13:15:24 +0000 (13:15 +0000)
committerqhuang8 <qhuang8@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 27 Nov 2008 13:15:24 +0000 (13:15 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6764 6f19259b-4bc3-4df7-8a09-765794883524

MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabase.h
MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
MdeModulePkg/Universal/HiiDatabaseDxe/R8Lib.c
MdeModulePkg/Universal/HiiDatabaseDxe/R8Lib.h

index c2917a9233ecaaca36351839eb74573f21385e48..8b0b5a3fb3ab5b9ba6ce28bd7591469c42e8d7bc 100644 (file)
@@ -40,7 +40,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #include <Library/IfrSupportLib.h>\r
 #include <Library/UefiLib.h>\r
 #include <Library/PcdLib.h>\r
-#include <Library/HiiLib.h>\r
+#include <Library/UefiRuntimeServicesTableLib.h>\r
+\r
 \r
 #define HII_DATABASE_NOTIFY_GUID \\r
   { \\r
index 6d2ce944a53c3b02668f07318305602cdbc610a3..00f209df0783e2d57d13eab5deba4a30983aa6ff 100644 (file)
@@ -59,7 +59,8 @@
   DebugLib\r
   IfrSupportLib\r
   UefiLib\r
-  HiiLib\r
+  PcdLib\r
+  UefiRuntimeServicesTableLib\r
 \r
 [Protocols]\r
   gEfiConsoleControlProtocolGuid                \r
 [FeaturePcd.common]\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdSupportHiiImageProtocol\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdSupportFullConfigRoutingProtocol\r
+\r
+[Pcd.common]\r
+  gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultPlatformLang\r
+\r
+[Guids]  \r
+  gEfiGlobalVariableGuid \r
   \r
 [Depex]\r
   TRUE\r
index 7c3e9b8b35162a6148f439f51a6f0721c0c73da9..789627f22241fc1495c99d8418641974b14b2a1b 100644 (file)
@@ -57,4 +57,49 @@ R8_EfiLibCompareLanguage (
 }\r
 \r
 \r
+/**\r
+  Determine what is the current language setting. The space reserved for Lang\r
+  must be at least RFC_3066_ENTRY_SIZE bytes;\r
+\r
+  If Lang is NULL, then ASSERT.\r
+\r
+  @param  Lang                   Pointer of system language. Lang will always be filled with \r
+                                 a valid RFC 3066 language string. If "PlatformLang" is not\r
+                                 set in the system, the default language specifed by PcdUefiVariableDefaultPlatformLang\r
+                                 is returned.\r
+\r
+  @return  EFI_SUCCESS     If the EFI Variable with "PlatformLang" is set and return in Lang.\r
+  @return  EFI_NOT_FOUND If the EFI Variable with "PlatformLang" is not set, but a valid default language is return in Lang.\r
+\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+GetCurrentLanguage (\r
+  OUT     CHAR8               *Lang\r
+  )\r
+{\r
+  EFI_STATUS  Status;\r
+  UINTN       Size;\r
+\r
+  ASSERT (Lang != NULL);\r
+\r
+  //\r
+  // Get current language setting\r
+  //\r
+  Size = RFC_3066_ENTRY_SIZE;\r
+  Status = gRT->GetVariable (\r
+                  L"PlatformLang",\r
+                  &gEfiGlobalVariableGuid,\r
+                  NULL,\r
+                  &Size,\r
+                  Lang\r
+                  );\r
+\r
+  if (EFI_ERROR (Status)) {\r
+    AsciiStrCpy (Lang, (CHAR8 *) PcdGetPtr (PcdUefiVariableDefaultPlatformLang));\r
+  }\r
+\r
+  return Status;\r
+}\r
+\r
 \r
index 7c1c9f051ed9c2f3fa842f4183f726f3b198e3e3..e971dc264b275114898204dd7b47923089f4bca3 100644 (file)
@@ -17,7 +17,6 @@ Implement a utility function named R8_EfiLibCompareLanguage.
 #ifndef __R8_LIB_H__\r
 #define __R8_LIB_H__\r
 \r
-\r
 /**\r
   Compare whether two names of languages are identical.\r
 \r
@@ -35,6 +34,26 @@ R8_EfiLibCompareLanguage (
   )\r
 ;\r
 \r
+/**\r
+  Determine what is the current language setting. The space reserved for Lang\r
+  must be at least RFC_3066_ENTRY_SIZE bytes;\r
+\r
+  If Lang is NULL, then ASSERT.\r
+\r
+  @param  Lang                   Pointer of system language. Lang will always be filled with \r
+                                 a valid RFC 3066 language string. If "PlatformLang" is not\r
+                                 set in the system, the default language specifed by PcdUefiVariableDefaultPlatformLang\r
+                                 is returned.\r
+\r
+  @return  EFI_SUCCESS     If the EFI Variable with "PlatformLang" is set and return in Lang.\r
+  @return  EFI_NOT_FOUND If the EFI Variable with "PlatformLang" is not set, but a valid default language is return in Lang.\r
+\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+GetCurrentLanguage (\r
+  OUT     CHAR8               *Lang\r
+  );\r
 \r
 #endif\r
 \r