/** @file\r
Head file for BDS Architectural Protocol implementation\r
\r
-Copyright (c) 2004 - 2008, Intel Corporation. <BR>\r
+Copyright (c) 2004 - 2009, Intel Corporation. <BR>\r
All rights reserved. This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
which accompanies this distribution. The full text of the license may be found at\r
#include <Library/HiiLib.h>\r
#include <Library/DevicePathLib.h>\r
#include <Library/PcdLib.h>\r
+#include <Library/UefiHiiServicesLib.h>\r
\r
#include <Library/GenericBdsLib.h>\r
#include <Library/PlatformBdsLib.h>\r
PlatformBdsLib\r
CapsuleLib\r
PcdLib\r
+ UefiHiiServicesLib\r
\r
[Guids]\r
gEfiGlobalVariableGuid ## SOMETIMES_PRODUCES ## Variable:L"BootNext" (The number of next boot option)\r
gEfiIfrTianoGuid ## CONSUMES ## GUID (Extended IFR Guid Opcode)\r
\r
[Protocols]\r
- gEfiHiiStringProtocolGuid # PROTOCOL ALWAYS_CONSUMES\r
gEfiSimpleFileSystemProtocolGuid # PROTOCOL ALWAYS_CONSUMES\r
gEfiLoadFileProtocolGuid # PROTOCOL ALWAYS_CONSUMES\r
gEfiBdsArchProtocolGuid # PROTOCOL ALWAYS_PRODUCES\r
gEfiDataHubProtocolGuid # PROTOCOL ALWAYS_CONSUMES\r
gEfiGenericMemTestProtocolGuid # PROTOCOL ALWAYS_CONSUMES\r
gEfiLegacyBiosProtocolGuid # PROTOCOL ALWAYS_CONSUMES\r
- gEfiHiiDatabaseProtocolGuid # PROTOCOL ALWAYS_CONSUMES\r
gEfiUgaDrawProtocolGuid |PcdUgaConsumeSupport # PROTOCOL SOMETIMES_CONSUMES\r
gEfiBlockIoProtocolGuid # PROTOCOL ALWAYS_CONSUMES\r
gEfiGraphicsOutputProtocolGuid # PROTOCOL SOMETIMES_CONSUMES\r
gEfiSimpleTextInputExProtocolGuid # PROTOCOL ALWAYS_CONSUMES\r
- gEfiHiiConfigRoutingProtocolGuid # PROTOCOL ALWAYS_CONSUMES\r
gEfiHiiConfigAccessProtocolGuid # PROTOCOL ALWAYS_CONSUMES\r
gEfiFormBrowser2ProtocolGuid # PROTOCOL ALWAYS_CONSUMES\r
gEfiSerialIoProtocolGuid # PROTOCOL ALWAYS_CONSUMES\r
BOOLEAN gConnectAllHappened = FALSE;\r
UINTN gCallbackKey;\r
\r
-EFI_HII_DATABASE_PROTOCOL *gHiiDatabase;\r
-EFI_HII_STRING_PROTOCOL *gHiiString;\r
EFI_FORM_BROWSER2_PROTOCOL *gFormBrowser2;\r
-EFI_HII_CONFIG_ROUTING_PROTOCOL *gHiiConfigRouting;\r
\r
FRONT_PAGE_CALLBACK_DATA gFrontPagePrivate = {\r
FRONT_PAGE_CALLBACK_DATA_SIGNATURE,\r
CHAR8 *BestLanguage;\r
UINTN OptionCount;\r
CHAR16 *StringBuffer;\r
- UINTN BufferSize;\r
EFI_HII_HANDLE HiiHandle;\r
VOID *OptionsOpCodeHandle;\r
VOID *StartOpCodeHandle;\r
//\r
// Locate Hii relative protocols\r
//\r
- Status = gBS->LocateProtocol (&gEfiHiiDatabaseProtocolGuid, NULL, (VOID **) &gHiiDatabase);\r
- if (EFI_ERROR (Status)) {\r
- return Status;\r
- }\r
-\r
- Status = gBS->LocateProtocol (&gEfiHiiStringProtocolGuid, NULL, (VOID **) &gHiiString);\r
- if (EFI_ERROR (Status)) {\r
- return Status;\r
- }\r
-\r
Status = gBS->LocateProtocol (&gEfiFormBrowser2ProtocolGuid, NULL, (VOID **) &gFormBrowser2);\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
\r
- Status = gBS->LocateProtocol (&gEfiHiiConfigRoutingProtocolGuid, NULL, (VOID **) &gHiiConfigRouting);\r
- if (EFI_ERROR (Status)) {\r
- return Status;\r
- }\r
-\r
//\r
// Install Device Path Protocol and Config Access protocol to driver handle\r
//\r
GetNextLanguage (&LangCode, Lang);\r
\r
if (FirstFlag) {\r
- //\r
- // Get Language Name from String Package. The StringId of Printable Language\r
- // Name is always 1 which is generated by StringGather Tool.\r
- //\r
- BufferSize = 0x100;\r
- StringBuffer = AllocatePool (BufferSize);\r
- Status = gHiiString->GetString (\r
- gHiiString,\r
- Lang,\r
- HiiHandle,\r
- PRINTABLE_LANGUAGE_NAME_STRING_ID,\r
- StringBuffer,\r
- &BufferSize,\r
- NULL\r
- );\r
- if (Status == EFI_BUFFER_TOO_SMALL) {\r
- FreePool (StringBuffer);\r
- StringBuffer = AllocatePool (BufferSize);\r
- Status = gHiiString->GetString (\r
- gHiiString,\r
- Lang,\r
- HiiHandle,\r
- PRINTABLE_LANGUAGE_NAME_STRING_ID,\r
- StringBuffer,\r
- &BufferSize,\r
- NULL\r
- );\r
- }\r
- ASSERT_EFI_ERROR (Status);\r
+ StringBuffer = HiiGetString (HiiHandle, PRINTABLE_LANGUAGE_NAME_STRING_ID, Lang);\r
+ ASSERT_EFI_ERROR (StringBuffer != NULL);\r
\r
//\r
// Save the string Id for each language\r
/** @file\r
FrontPage routines to handle the callbacks and browser calls\r
\r
-Copyright (c) 2004 - 2008, Intel Corporation. <BR>\r
+Copyright (c) 2004 - 2009, Intel Corporation. <BR>\r
All rights reserved. This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
which accompanies this distribution. The full text of the license may be found at\r
//\r
extern UINT8 FrontPageVfrBin[];\r
\r
-extern EFI_HII_DATABASE_PROTOCOL *gHiiDatabase;\r
-extern EFI_HII_STRING_PROTOCOL *gHiiString;\r
extern EFI_FORM_BROWSER2_PROTOCOL *gFormBrowser2;\r
-extern EFI_HII_CONFIG_ROUTING_PROTOCOL *gHiiConfigRouting;\r
\r
extern UINTN gCallbackKey;\r
extern BOOLEAN gConnectAllHappened;\r