\r
This function registers HII packages to HII database.\r
\r
- @retval EFI_SUCCESS This function complete successfully.\r
- @return Other value if failed to register HII packages.\r
+ @retval EFI_SUCCESS HII packages for the Device Manager were registered successfully.\r
+ @retval EFI_OUT_OF_RESOURCES HII packages for the Device Manager failed to be registered.\r
\r
**/\r
EFI_STATUS\r
)\r
{\r
EFI_STATUS Status;\r
- EFI_HII_PACKAGE_LIST_HEADER *PackageList;\r
\r
//\r
// Install Device Path Protocol and Config Access protocol to driver handle\r
//\r
// Publish our HII data\r
//\r
- PackageList = HiiLibPreparePackageList (2, &mDeviceManagerGuid, DeviceManagerVfrBin, BdsDxeStrings);\r
- ASSERT (PackageList != NULL);\r
-\r
- Status = gHiiDatabase->NewPackageList (\r
- gHiiDatabase,\r
- PackageList,\r
- gDeviceManagerPrivate.DriverHandle,\r
- &gDeviceManagerPrivate.HiiHandle\r
- );\r
- FreePool (PackageList);\r
-\r
+ gDeviceManagerPrivate.HiiHandle = HiiAddPackages (\r
+ &mDeviceManagerGuid,\r
+ gDeviceManagerPrivate.DriverHandle,\r
+ DeviceManagerVfrBin,\r
+ BdsDxeStrings,\r
+ NULL\r
+ );\r
+ if (gDeviceManagerPrivate.HiiHandle == NULL) {\r
+ Status = EFI_OUT_OF_RESOURCES;\r
+ } else {\r
+ Status = EFI_SUCCESS;\r
+ }\r
return Status;\r
}\r
\r
EFI_STATUS Status;\r
UINTN Count;\r
UINTN Index;\r
- CHAR16 *String;\r
- UINTN StringLength;\r
+ EFI_STRING String;\r
EFI_HII_UPDATE_DATA UpdateData[MENU_ITEM_NUM];\r
EFI_STRING_ID Token;\r
EFI_STRING_ID TokenHelp;\r
EFI_HII_HANDLE *HiiHandles;\r
- UINTN HandleBufferLength;\r
- UINTN NumberOfHiiHandles;\r
EFI_HII_HANDLE HiiHandle;\r
UINT16 FormSetClass;\r
EFI_STRING_ID FormSetTitle;\r
EFI_STRING_ID FormSetHelp;\r
EFI_BROWSER_ACTION_REQUEST ActionRequest;\r
- EFI_HII_PACKAGE_LIST_HEADER *PackageList;\r
\r
HiiHandles = NULL;\r
- HandleBufferLength = 0;\r
\r
Status = EFI_SUCCESS;\r
gCallbackKey = 0;\r
//\r
// Get all the Hii handles\r
//\r
- Status = HiiLibGetHiiHandles (&HandleBufferLength, &HiiHandles);\r
- ASSERT_EFI_ERROR (Status && (HiiHandles != NULL));\r
+ HiiHandles = HiiGetHiiHandles (NULL);\r
+ ASSERT (HiiHandles != NULL);\r
\r
HiiHandle = gDeviceManagerPrivate.HiiHandle;\r
\r
- StringLength = 0x1000;\r
- String = AllocateZeroPool (StringLength);\r
- ASSERT (String != NULL);\r
-\r
//\r
// Search for formset of each class type\r
//\r
- NumberOfHiiHandles = HandleBufferLength / sizeof (EFI_HII_HANDLE);\r
- for (Index = 0; Index < NumberOfHiiHandles; Index++) {\r
+ for (Index = 0; HiiHandles[Index] != NULL; Index++) {\r
IfrLibExtractClassFromHiiHandle (HiiHandles[Index], &FormSetClass, &FormSetTitle, &FormSetHelp);\r
\r
if (FormSetClass == EFI_NON_DEVICE_CLASS) {\r
continue;\r
}\r
\r
- Token = 0;\r
- *String = 0;\r
- StringLength = 0x1000;\r
- HiiLibGetString (HiiHandles[Index], FormSetTitle, String, &StringLength);\r
- HiiLibNewString (HiiHandle, &Token, String);\r
+ String = HiiGetString (HiiHandles[Index], FormSetTitle, NULL);\r
+ ASSERT (String != NULL);\r
+ Token = HiiSetString (HiiHandle, 0, String, NULL);\r
+ FreePool (String);\r
\r
- TokenHelp = 0;\r
- *String = 0;\r
- StringLength = 0x1000;\r
- HiiLibGetString (HiiHandles[Index], FormSetHelp, String, &StringLength);\r
- HiiLibNewString (HiiHandle, &TokenHelp, String);\r
+ String = HiiGetString (HiiHandles[Index], FormSetHelp, NULL);\r
+ ASSERT (String != NULL);\r
+ TokenHelp = HiiSetString (HiiHandle, 0, String, NULL);\r
+ FreePool (String);\r
\r
for (Count = 0; Count < MENU_ITEM_NUM; Count++) {\r
if (FormSetClass & mDeviceManagerMenuItemTable[Count].Class) {\r
}\r
}\r
}\r
- FreePool (String);\r
\r
for (Index = 0; Index < MENU_ITEM_NUM; Index++) {\r
//\r
//\r
// Cleanup dynamic created strings in HII database by reinstall the packagelist\r
//\r
- gHiiDatabase->RemovePackageList (gHiiDatabase, HiiHandle);\r
- PackageList = HiiLibPreparePackageList (2, &mDeviceManagerGuid, DeviceManagerVfrBin, BdsDxeStrings);\r
- ASSERT (PackageList != NULL);\r
- Status = gHiiDatabase->NewPackageList (\r
- gHiiDatabase,\r
- PackageList,\r
- gDeviceManagerPrivate.DriverHandle,\r
- &gDeviceManagerPrivate.HiiHandle\r
- );\r
- FreePool (PackageList);\r
+ HiiRemovePackages (HiiHandle);\r
+\r
+ gDeviceManagerPrivate.HiiHandle = HiiAddPackages (\r
+ &mDeviceManagerGuid,\r
+ gDeviceManagerPrivate.DriverHandle,\r
+ DeviceManagerVfrBin,\r
+ BdsDxeStrings,\r
+ NULL\r
+ );\r
+ if (gDeviceManagerPrivate.HiiHandle == NULL) {\r
+ Status = EFI_OUT_OF_RESOURCES;\r
+ } else {\r
+ Status = EFI_SUCCESS;\r
+ }\r
\r
for (Index = 0; Index < MENU_ITEM_NUM; Index++) {\r
FreePool (UpdateData[Index].Data);\r