FrontPage routines to handle the callbacks and browser calls\r
\r
--*/\r
-\r
-//\r
-// Include common header file for this module.\r
-//\r
-#include "CommonHeader.h"\r
-\r
#include "Bds.h"\r
#include "BdsPlatform.h"\r
#include "FrontPage.h"\r
-#include "String.h"\r
+#include "BdsString.h"\r
\r
EFI_GUID mProcessorSubClass = EFI_PROCESSOR_SUBCLASS_GUID;\r
EFI_GUID mMemorySubClass = EFI_MEMORY_SUBCLASS_GUID;\r
EFI_GUID mMiscSubClass = EFI_MISC_SUBCLASS_GUID;\r
\r
UINT16 mLastSelection;\r
-EFI_HII_HANDLE gFrontPageHandle;\r
+FRAMEWORK_EFI_HII_HANDLE gFrontPageHandle;\r
EFI_HANDLE FrontPageCallbackHandle;\r
EFI_FORM_CALLBACK_PROTOCOL FrontPageCallback;\r
EFI_FORM_BROWSER_PROTOCOL *gBrowser;\r
UINTN gCallbackKey;\r
BOOLEAN gConnectAllHappened = FALSE;\r
\r
-extern EFI_HII_HANDLE gFrontPageHandle;\r
-extern EFI_GUID gBdsStringPackGuid;\r
+extern FRAMEWORK_EFI_HII_HANDLE gFrontPageHandle;\r
\r
EFI_STATUS\r
EFIAPI\r
FrontPageCallbackRoutine (\r
IN EFI_FORM_CALLBACK_PROTOCOL *This,\r
IN UINT16 KeyValue,\r
- IN EFI_IFR_DATA_ARRAY *DataArray,\r
+ IN FRAMEWORK_EFI_IFR_DATA_ARRAY *DataArray,\r
OUT EFI_HII_CALLBACK_PACKET **Packet\r
)\r
/*++\r
\r
--*/\r
{\r
- CHAR16 *LanguageString;\r
- UINTN Count;\r
- CHAR16 UnicodeLang[3];\r
- CHAR8 Lang[3];\r
- EFI_STATUS Status;\r
- UINTN Index;\r
- CHAR16 *TmpStr;\r
+ CHAR16 *LanguageString;\r
+ UINTN Count;\r
+ CHAR16 UnicodeLang[3];\r
+ CHAR8 Lang[3];\r
+ EFI_STATUS Status;\r
+ UINTN Index;\r
+ CHAR16 *TmpStr;\r
EFI_GRAPHICS_OUTPUT_BLT_PIXEL Foreground;\r
EFI_GRAPHICS_OUTPUT_BLT_PIXEL Background;\r
EFI_GRAPHICS_OUTPUT_BLT_PIXEL Color;\r
//\r
// Collect the languages from what our current Language support is based on our VFR\r
//\r
- Hii->GetPrimaryLanguages (Hii, gFrontPageHandle, &LanguageString);\r
+ gHii->GetPrimaryLanguages (gHii, gFrontPageHandle, &LanguageString);\r
\r
//\r
// Based on the DataArray->Data->Data value, we can determine\r
// which language was chosen by the user\r
//\r
- for (Index = 0; Count != (UINTN) (((EFI_IFR_DATA_ENTRY *) (DataArray + 1))->Data); Index += 3) {\r
+ for (Index = 0; Count != (UINTN) (((FRAMEWORK_EFI_IFR_DATA_ENTRY *) (DataArray + 1))->Data); Index += 3) {\r
Count++;\r
}\r
//\r
Background,\r
TmpStr,\r
Color,\r
- (UINTN) (((EFI_IFR_DATA_ENTRY *) (DataArray+1))->Data),\r
+ (UINTN) (((FRAMEWORK_EFI_IFR_DATA_ENTRY *) (DataArray+1))->Data),\r
0\r
);\r
FreePool (TmpStr);\r
//\r
TempBuffer = (UINT8 *) FrontPageVfrBin;\r
TempBuffer = TempBuffer + sizeof (EFI_HII_PACK_HEADER);\r
- TempBuffer = (UINT8 *) &((EFI_IFR_FORM_SET *) TempBuffer)->NvDataSize;\r
+ TempBuffer = (UINT8 *) &((FRAMEWORK_EFI_IFR_FORM_SET *) TempBuffer)->NvDataSize;\r
*TempBuffer = 1;\r
\r
gCallbackKey = 0;\r
\r
- PackageList = PreparePackages (1, &gBdsStringPackGuid, FrontPageVfrBin);\r
+ PackageList = PreparePackages (1, &gEfiCallerIdGuid, FrontPageVfrBin);\r
\r
- Status = Hii->NewPack (Hii, PackageList, &gFrontPageHandle);\r
+ Status = gHii->NewPack (gHii, PackageList, &gFrontPageHandle);\r
\r
FreePool (PackageList);\r
\r
//\r
// Collect the languages from what our current Language support is based on our VFR\r
//\r
- Hii->GetPrimaryLanguages (Hii, gFrontPageHandle, &LanguageString);\r
+ gHii->GetPrimaryLanguages (gHii, gFrontPageHandle, &LanguageString);\r
\r
OptionCount = 0;\r
\r
- //\r
- // Try for a 512 byte Buffer\r
- //\r
- BufferSize = 0x200;\r
-\r
- //\r
- // Allocate memory for our Form binary\r
- //\r
- StringBuffer = AllocateZeroPool (BufferSize);\r
- ASSERT (StringBuffer != NULL);\r
-\r
for (Index = 0; LanguageString[Index] != 0; Index += 3) {\r
Token = 0;\r
CopyMem (Lang, &LanguageString[Index], 6);\r
mLastSelection = (UINT16) OptionCount;\r
}\r
\r
- Status = Hii->GetString (Hii, gStringPackHandle, 1, TRUE, Lang, &BufferSize, StringBuffer);\r
- Hii->NewString (Hii, NULL, gStringPackHandle, &Token, StringBuffer);\r
+ BufferSize = 0;\r
+ Status = gHii->GetString (gHii, gStringPackHandle, 1, TRUE, Lang, &BufferSize, NULL);\r
+ ASSERT (Status == EFI_BUFFER_TOO_SMALL);\r
+ StringBuffer = AllocateZeroPool (BufferSize);\r
+ ASSERT (StringBuffer != NULL);\r
+ Status = gHii->GetString (gHii, gStringPackHandle, 1, TRUE, Lang, &BufferSize, StringBuffer);\r
+ ASSERT_EFI_ERROR (Status);\r
+ gHii->NewString (gHii, NULL, gStringPackHandle, &Token, StringBuffer);\r
+ FreePool (StringBuffer);\r
CopyMem (&OptionList[OptionCount].StringToken, &Token, sizeof (UINT16));\r
CopyMem (&OptionList[OptionCount].Value, &OptionCount, sizeof (UINT16));\r
Key = 0x1234;\r
CopyMem (&OptionList[OptionCount].Key, &Key, sizeof (UINT16));\r
- OptionList[OptionCount].Flags = EFI_IFR_FLAG_INTERACTIVE | EFI_IFR_FLAG_NV_ACCESS;\r
+ OptionList[OptionCount].Flags = FRAMEWORK_EFI_IFR_FLAG_INTERACTIVE | FRAMEWORK_EFI_IFR_FLAG_NV_ACCESS;\r
OptionCount++;\r
}\r
\r
FreePool (LanguageString);\r
\r
if (ReInitializeStrings) {\r
- FreePool (StringBuffer);\r
FreePool (OptionList);\r
return EFI_SUCCESS;\r
}\r
//\r
UpdateData->DataCount = (UINT8) (OptionCount + 2);\r
\r
- Hii->UpdateForm (Hii, gFrontPageHandle, (EFI_FORM_LABEL) 0x0002, TRUE, UpdateData);\r
+ gHii->UpdateForm (gHii, gFrontPageHandle, (EFI_FORM_LABEL) 0x0002, TRUE, UpdateData);\r
\r
FreePool (UpdateData);\r
- //\r
- // FreePool (OptionList);\r
- //\r
- FreePool (StringBuffer);\r
+ FreePool (OptionList);\r
return Status;\r
}\r
\r
EnableResetRequired ();\r
}\r
\r
- Hii->ResetStrings (Hii, gFrontPageHandle);\r
+ gHii->ResetStrings (gHii, gFrontPageHandle);\r
\r
return Status;\r
}\r
{\r
EFI_STATUS Status;\r
UINT16 HandleBufferLength;\r
- EFI_HII_HANDLE *HiiHandleBuffer;\r
+ FRAMEWORK_EFI_HII_HANDLE *HiiHandleBuffer;\r
UINTN StringBufferLength;\r
UINTN NumberOfHiiHandles;\r
UINTN Index;\r
//\r
// Get all the Hii handles\r
//\r
- Status = BdsLibGetHiiHandles (Hii, &HandleBufferLength, &HiiHandleBuffer);\r
+ Status = BdsLibGetHiiHandles (gHii, &HandleBufferLength, &HiiHandleBuffer);\r
ASSERT_EFI_ERROR (Status);\r
\r
//\r
- // Get the Hii Handle that matches the StructureNode->ProducerName\r
+ // Get the gHii Handle that matches the StructureNode->ProducerName\r
//\r
- NumberOfHiiHandles = HandleBufferLength / sizeof (EFI_HII_HANDLE);\r
+ NumberOfHiiHandles = HandleBufferLength / sizeof (FRAMEWORK_EFI_HII_HANDLE );\r
for (Index = 0; Index < NumberOfHiiHandles; Index++) {\r
Length = 0;\r
Status = ExtractDataFromHiiHandle (\r
//\r
StringBufferLength = 0x100;\r
*String = AllocateZeroPool (0x100);\r
- Status = Hii->GetString (\r
- Hii,\r
+ Status = gHii->GetString (\r
+ gHii,\r
HiiHandleBuffer[Index],\r
Token,\r
FALSE,\r
BiosVendor = (EFI_MISC_BIOS_VENDOR_DATA *) (DataHeader + 1);\r
GetStringFromToken (&Record->ProducerName, BiosVendor->BiosVersion, &NewString);\r
TokenToUpdate = (STRING_REF) STR_FRONT_PAGE_BIOS_VERSION;\r
- Hii->NewString (Hii, Lang, gFrontPageHandle, &TokenToUpdate, NewString);\r
+ gHii->NewString (gHii, Lang, gFrontPageHandle, &TokenToUpdate, NewString);\r
FreePool (NewString);\r
Find[0] = TRUE;\r
}\r
SystemManufacturer = (EFI_MISC_SYSTEM_MANUFACTURER_DATA *) (DataHeader + 1);\r
GetStringFromToken (&Record->ProducerName, SystemManufacturer->SystemProductName, &NewString);\r
TokenToUpdate = (STRING_REF) STR_FRONT_PAGE_COMPUTER_MODEL;\r
- Hii->NewString (Hii, Lang, gFrontPageHandle, &TokenToUpdate, NewString);\r
+ gHii->NewString (gHii, Lang, gFrontPageHandle, &TokenToUpdate, NewString);\r
FreePool (NewString);\r
Find[1] = TRUE;\r
}\r
ProcessorVersion = (EFI_PROCESSOR_VERSION_DATA *) (DataHeader + 1);\r
GetStringFromToken (&Record->ProducerName, *ProcessorVersion, &NewString);\r
TokenToUpdate = (STRING_REF) STR_FRONT_PAGE_CPU_MODEL;\r
- Hii->NewString (Hii, Lang, gFrontPageHandle, &TokenToUpdate, NewString);\r
+ gHii->NewString (gHii, Lang, gFrontPageHandle, &TokenToUpdate, NewString);\r
FreePool (NewString);\r
Find[2] = TRUE;\r
}\r
ProcessorFrequency = (EFI_PROCESSOR_CORE_FREQUENCY_DATA *) (DataHeader + 1);\r
ConvertProcessorToString (ProcessorFrequency, &NewString);\r
TokenToUpdate = (STRING_REF) STR_FRONT_PAGE_CPU_SPEED;\r
- Hii->NewString (Hii, Lang, gFrontPageHandle, &TokenToUpdate, NewString);\r
+ gHii->NewString (gHii, Lang, gFrontPageHandle, &TokenToUpdate, NewString);\r
FreePool (NewString);\r
Find[3] = TRUE;\r
}\r
MemoryArray->MemoryArrayStartAddress + 1), 20)),\r
&NewString);\r
TokenToUpdate = (STRING_REF) STR_FRONT_PAGE_MEMORY_SIZE;\r
- Hii->NewString (Hii, Lang, gFrontPageHandle, &TokenToUpdate, NewString);\r
+ gHii->NewString (gHii, Lang, gFrontPageHandle, &TokenToUpdate, NewString);\r
FreePool (NewString);\r
Find[4] = TRUE;\r
}\r
//\r
// Remove Banner Op-code if any at this label\r
//\r
- Hii->UpdateForm (Hii, gFrontPageHandle, (EFI_FORM_LABEL) 0xFFFF, FALSE, UpdateData);\r
+ gHii->UpdateForm (gHii, gFrontPageHandle, (EFI_FORM_LABEL) 0xFFFF, FALSE, UpdateData);\r
\r
//\r
// Create Banner Op-code which reflects correct timeout value\r
CreateBannerOpCode (\r
STRING_TOKEN (STR_TIME_OUT_PROMPT),\r
TimeoutDefault,\r
- (UINT8) EFI_IFR_BANNER_TIMEOUT,\r
+ (UINT8) FRAMEWORK_EFI_IFR_BANNER_TIMEOUT,\r
&UpdateData->Data\r
);\r
\r
//\r
// Add Banner Op-code at this label\r
//\r
- Hii->UpdateForm (Hii, gFrontPageHandle, (EFI_FORM_LABEL) 0xFFFF, TRUE, UpdateData);\r
+ gHii->UpdateForm (gHii, gFrontPageHandle, (EFI_FORM_LABEL) 0xFFFF, TRUE, UpdateData);\r
\r
do {\r
\r