mirror of
https://github.com/acidanthera/audk.git
synced 2025-07-29 08:34:07 +02:00
MdeModulePkg/HiiDatabase: Move common code to LocatePackageList()
Contributed-under: TianoCore Contribution Agreement 1.0 Reviewed-by: Liming Gao <liming.gao@intel.com> Cc: Eric Dong <eric.dong@intel.com> Cc: Dandan Bi <dandan.bi@intel.com> Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
This commit is contained in:
parent
7c28fcb849
commit
9d91ff0ea4
@ -569,6 +569,37 @@ ImageToBlt (
|
|||||||
return EFI_SUCCESS;
|
return EFI_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Return the HII package list identified by PackageList HII handle.
|
||||||
|
|
||||||
|
@param Database Pointer to HII database list header.
|
||||||
|
@param PackageList HII handle of the package list to locate.
|
||||||
|
|
||||||
|
@retval The HII package list instance.
|
||||||
|
**/
|
||||||
|
HII_DATABASE_PACKAGE_LIST_INSTANCE *
|
||||||
|
LocatePackageList (
|
||||||
|
IN LIST_ENTRY *Database,
|
||||||
|
IN EFI_HII_HANDLE PackageList
|
||||||
|
)
|
||||||
|
{
|
||||||
|
LIST_ENTRY *Link;
|
||||||
|
HII_DATABASE_RECORD *Record;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Get the specified package list and image package.
|
||||||
|
//
|
||||||
|
for (Link = GetFirstNode (Database);
|
||||||
|
!IsNull (Database, Link);
|
||||||
|
Link = GetNextNode (Database, Link)
|
||||||
|
) {
|
||||||
|
Record = CR (Link, HII_DATABASE_RECORD, DatabaseEntry, HII_DATABASE_RECORD_SIGNATURE);
|
||||||
|
if (Record->Handle == PackageList) {
|
||||||
|
return Record->PackageList;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
This function adds the image Image to the group of images owned by PackageList, and returns
|
This function adds the image Image to the group of images owned by PackageList, and returns
|
||||||
@ -598,8 +629,6 @@ HiiNewImage (
|
|||||||
)
|
)
|
||||||
{
|
{
|
||||||
HII_DATABASE_PRIVATE_DATA *Private;
|
HII_DATABASE_PRIVATE_DATA *Private;
|
||||||
LIST_ENTRY *Link;
|
|
||||||
HII_DATABASE_RECORD *DatabaseRecord;
|
|
||||||
HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageListNode;
|
HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageListNode;
|
||||||
HII_IMAGE_PACKAGE_INSTANCE *ImagePackage;
|
HII_IMAGE_PACKAGE_INSTANCE *ImagePackage;
|
||||||
UINT8 *ImageBlock;
|
UINT8 *ImageBlock;
|
||||||
@ -618,24 +647,7 @@ HiiNewImage (
|
|||||||
}
|
}
|
||||||
|
|
||||||
Private = HII_IMAGE_DATABASE_PRIVATE_DATA_FROM_THIS (This);
|
Private = HII_IMAGE_DATABASE_PRIVATE_DATA_FROM_THIS (This);
|
||||||
|
PackageListNode = LocatePackageList (&Private->DatabaseList, PackageList);
|
||||||
//
|
|
||||||
// Get the specified package list
|
|
||||||
//
|
|
||||||
|
|
||||||
PackageListNode = NULL;
|
|
||||||
|
|
||||||
for (Link = Private->DatabaseList.ForwardLink;
|
|
||||||
Link != &Private->DatabaseList;
|
|
||||||
Link = Link->ForwardLink
|
|
||||||
) {
|
|
||||||
DatabaseRecord = CR (Link, HII_DATABASE_RECORD, DatabaseEntry, HII_DATABASE_RECORD_SIGNATURE);
|
|
||||||
if (DatabaseRecord->Handle == PackageList) {
|
|
||||||
PackageListNode = DatabaseRecord->PackageList;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (PackageListNode == NULL) {
|
if (PackageListNode == NULL) {
|
||||||
return EFI_NOT_FOUND;
|
return EFI_NOT_FOUND;
|
||||||
}
|
}
|
||||||
@ -820,8 +832,6 @@ HiiGetImage (
|
|||||||
)
|
)
|
||||||
{
|
{
|
||||||
HII_DATABASE_PRIVATE_DATA *Private;
|
HII_DATABASE_PRIVATE_DATA *Private;
|
||||||
LIST_ENTRY *Link;
|
|
||||||
HII_DATABASE_RECORD *DatabaseRecord;
|
|
||||||
HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageListNode;
|
HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageListNode;
|
||||||
HII_IMAGE_PACKAGE_INSTANCE *ImagePackage;
|
HII_IMAGE_PACKAGE_INSTANCE *ImagePackage;
|
||||||
UINT8 *ImageBlock;
|
UINT8 *ImageBlock;
|
||||||
@ -845,21 +855,7 @@ HiiGetImage (
|
|||||||
}
|
}
|
||||||
|
|
||||||
Private = HII_IMAGE_DATABASE_PRIVATE_DATA_FROM_THIS (This);
|
Private = HII_IMAGE_DATABASE_PRIVATE_DATA_FROM_THIS (This);
|
||||||
|
PackageListNode = LocatePackageList (&Private->DatabaseList, PackageList);
|
||||||
//
|
|
||||||
// Get the specified package list and image package.
|
|
||||||
//
|
|
||||||
PackageListNode = NULL;
|
|
||||||
for (Link = Private->DatabaseList.ForwardLink;
|
|
||||||
Link != &Private->DatabaseList;
|
|
||||||
Link = Link->ForwardLink
|
|
||||||
) {
|
|
||||||
DatabaseRecord = CR (Link, HII_DATABASE_RECORD, DatabaseEntry, HII_DATABASE_RECORD_SIGNATURE);
|
|
||||||
if (DatabaseRecord->Handle == PackageList) {
|
|
||||||
PackageListNode = DatabaseRecord->PackageList;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (PackageListNode == NULL) {
|
if (PackageListNode == NULL) {
|
||||||
return EFI_NOT_FOUND;
|
return EFI_NOT_FOUND;
|
||||||
}
|
}
|
||||||
@ -1011,8 +1007,6 @@ HiiSetImage (
|
|||||||
)
|
)
|
||||||
{
|
{
|
||||||
HII_DATABASE_PRIVATE_DATA *Private;
|
HII_DATABASE_PRIVATE_DATA *Private;
|
||||||
LIST_ENTRY *Link;
|
|
||||||
HII_DATABASE_RECORD *DatabaseRecord;
|
|
||||||
HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageListNode;
|
HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageListNode;
|
||||||
HII_IMAGE_PACKAGE_INSTANCE *ImagePackage;
|
HII_IMAGE_PACKAGE_INSTANCE *ImagePackage;
|
||||||
UINT8 *ImageBlock;
|
UINT8 *ImageBlock;
|
||||||
@ -1043,21 +1037,7 @@ HiiSetImage (
|
|||||||
}
|
}
|
||||||
|
|
||||||
Private = HII_IMAGE_DATABASE_PRIVATE_DATA_FROM_THIS (This);
|
Private = HII_IMAGE_DATABASE_PRIVATE_DATA_FROM_THIS (This);
|
||||||
|
PackageListNode = LocatePackageList (&Private->DatabaseList, PackageList);
|
||||||
//
|
|
||||||
// Get the specified package list and image package.
|
|
||||||
//
|
|
||||||
PackageListNode = NULL;
|
|
||||||
for (Link = Private->DatabaseList.ForwardLink;
|
|
||||||
Link != &Private->DatabaseList;
|
|
||||||
Link = Link->ForwardLink
|
|
||||||
) {
|
|
||||||
DatabaseRecord = CR (Link, HII_DATABASE_RECORD, DatabaseEntry, HII_DATABASE_RECORD_SIGNATURE);
|
|
||||||
if (DatabaseRecord->Handle == PackageList) {
|
|
||||||
PackageListNode = DatabaseRecord->PackageList;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (PackageListNode == NULL) {
|
if (PackageListNode == NULL) {
|
||||||
return EFI_NOT_FOUND;
|
return EFI_NOT_FOUND;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user