mirror of https://github.com/acidanthera/audk.git
Retire FrameworkHiiLib library class. Remove FrameworkHiiLib library instance now and will be added later if necessary.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7989 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
3751c4cf94
commit
36fd07d3c5
|
@ -1,51 +0,0 @@
|
||||||
/** @file
|
|
||||||
Library class name: FrameworkHiiLib.
|
|
||||||
|
|
||||||
FrameworkHiiLib is designed for produce interfaces to access
|
|
||||||
framework HII things. It firstly also produce all interfaces define
|
|
||||||
in HiiLib library class in MdePkg/Include/HiiLib.h. It also produce
|
|
||||||
framework's old interface PreparePackages to keep compatiblity.
|
|
||||||
|
|
||||||
Copyright (c) 2006, Intel Corporation
|
|
||||||
All rights reserved. This program and the accompanying materials
|
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
|
||||||
http://opensource.org/licenses/bsd-license.php
|
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|
||||||
|
|
||||||
**/
|
|
||||||
|
|
||||||
#ifndef __FRAMEWORK_HII_LIB_H__
|
|
||||||
#define __FRAMEWORK_HII_LIB_H__
|
|
||||||
|
|
||||||
#include <FrameworkDxe.h>
|
|
||||||
|
|
||||||
#include <Protocol/FrameworkHii.h>
|
|
||||||
//
|
|
||||||
// FrameworkHiiLib will produce HiiLib library class too.
|
|
||||||
//
|
|
||||||
#include <Library/HiiLib.h>
|
|
||||||
|
|
||||||
/**
|
|
||||||
This function allocates pool for an EFI_HII_PACKAGES structure
|
|
||||||
with enough space for the variable argument list of package pointers.
|
|
||||||
The allocated structure is initialized using NumberOfPackages, Guid,
|
|
||||||
and the variable length argument list of package pointers.
|
|
||||||
|
|
||||||
@param NumberOfPackages The number of HII packages to prepare.
|
|
||||||
@param Guid Package GUID.
|
|
||||||
@param ... The variable argument list of package pointers.
|
|
||||||
|
|
||||||
@return The allocated and initialized packages.
|
|
||||||
**/
|
|
||||||
EFI_HII_PACKAGES *
|
|
||||||
EFIAPI
|
|
||||||
PreparePackages (
|
|
||||||
IN UINTN NumberOfPackages,
|
|
||||||
IN CONST EFI_GUID *Guid OPTIONAL,
|
|
||||||
...
|
|
||||||
);
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -24,7 +24,6 @@
|
||||||
Include # Root include for the package
|
Include # Root include for the package
|
||||||
|
|
||||||
[LibraryClasses.common]
|
[LibraryClasses.common]
|
||||||
FrameworkHiiLib|Include/Library/FrameworkHiiLib.h
|
|
||||||
FrameworkIfrSupportLib|Include/Library/FrameworkIfrSupportLib.h
|
FrameworkIfrSupportLib|Include/Library/FrameworkIfrSupportLib.h
|
||||||
SmmLib|Include/Library/SmmLib.h
|
SmmLib|Include/Library/SmmLib.h
|
||||||
|
|
||||||
|
|
|
@ -73,7 +73,6 @@
|
||||||
IntelFrameworkPkg/Library/DxeIoLibCpuIo/DxeIoLibCpuIo.inf
|
IntelFrameworkPkg/Library/DxeIoLibCpuIo/DxeIoLibCpuIo.inf
|
||||||
IntelFrameworkPkg/Library/FrameworkUefiLib/FrameworkUefiLib.inf
|
IntelFrameworkPkg/Library/FrameworkUefiLib/FrameworkUefiLib.inf
|
||||||
IntelFrameworkPkg/Library/DxeSmmDriverEntryPoint/DxeSmmDriverEntryPoint.inf
|
IntelFrameworkPkg/Library/DxeSmmDriverEntryPoint/DxeSmmDriverEntryPoint.inf
|
||||||
IntelFrameworkPkg/Library/FrameworkHiiLib/HiiLib.inf
|
|
||||||
IntelFrameworkPkg/Library/FrameworkIfrSupportLib/IfrSupportLib.inf
|
IntelFrameworkPkg/Library/FrameworkIfrSupportLib/IfrSupportLib.inf
|
||||||
IntelFrameworkPkg/Library/PeiSmbusLibSmbusPpi/PeiSmbusLibSmbusPpi.inf
|
IntelFrameworkPkg/Library/PeiSmbusLibSmbusPpi/PeiSmbusLibSmbusPpi.inf
|
||||||
IntelFrameworkPkg/Library/HiiLibFramework/HiiLibFramework.inf
|
IntelFrameworkPkg/Library/HiiLibFramework/HiiLibFramework.inf
|
||||||
|
|
|
@ -1,318 +0,0 @@
|
||||||
/** @file
|
|
||||||
HII Library implementation that uses DXE protocols and services.
|
|
||||||
|
|
||||||
Copyright (c) 2006, Intel Corporation<BR>
|
|
||||||
All rights reserved. This program and the accompanying materials
|
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
|
||||||
http://opensource.org/licenses/bsd-license.php
|
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|
||||||
|
|
||||||
**/
|
|
||||||
|
|
||||||
|
|
||||||
#include <FrameworkDxe.h>
|
|
||||||
|
|
||||||
#include <Protocol/FrameworkHii.h>
|
|
||||||
|
|
||||||
#include <Library/FrameworkHiiLib.h>
|
|
||||||
#include <Library/DebugLib.h>
|
|
||||||
#include <Library/MemoryAllocationLib.h>
|
|
||||||
#include <Library/UefiBootServicesTableLib.h>
|
|
||||||
|
|
||||||
EFI_HII_PROTOCOL *mHii = NULL;
|
|
||||||
|
|
||||||
/**
|
|
||||||
Library constustor function for HiiLib library instance locate the
|
|
||||||
gEfiHiiProtocolGuid firstly, the other interface in this library
|
|
||||||
instance will dependent on the protocol of gEfiHiiProtocolGuid.
|
|
||||||
So the depex of gEfiHiiProtocolGuid is required for this library
|
|
||||||
instance.
|
|
||||||
If protocol of gEfiHiiProtocolGuid is not installed, then ASSERT().
|
|
||||||
|
|
||||||
@param ImageHandle The image handle of driver module who use this library instance.
|
|
||||||
@param SystemTable Pointer to the EFI System Table.
|
|
||||||
|
|
||||||
@retval EFI_SUCCESS library constuctor always success.
|
|
||||||
**/
|
|
||||||
EFI_STATUS
|
|
||||||
EFIAPI
|
|
||||||
FrameworkHiiLibConstructor (
|
|
||||||
IN EFI_HANDLE ImageHandle,
|
|
||||||
IN EFI_SYSTEM_TABLE *SystemTable
|
|
||||||
)
|
|
||||||
{
|
|
||||||
EFI_STATUS Status;
|
|
||||||
|
|
||||||
Status = gBS->LocateProtocol (
|
|
||||||
&gEfiHiiProtocolGuid,
|
|
||||||
NULL,
|
|
||||||
(VOID **) &mHii
|
|
||||||
);
|
|
||||||
ASSERT_EFI_ERROR (Status);
|
|
||||||
ASSERT (mHii != NULL);
|
|
||||||
|
|
||||||
return EFI_SUCCESS;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
This function is internal function that prepare and create
|
|
||||||
HII packages with given number and package's guid.
|
|
||||||
It is invoked by HiiAddPackages() and PreparePackages() interface.
|
|
||||||
If the parameter of package's number is 0, then ASSERT().
|
|
||||||
|
|
||||||
@param NumberOfPackages Given number of package item in a HII package list.
|
|
||||||
@param Guid Given GUID of a HII package list.
|
|
||||||
@param Marker Package's content list.
|
|
||||||
|
|
||||||
@return pointer to new created HII package list.
|
|
||||||
**/
|
|
||||||
EFI_HII_PACKAGES *
|
|
||||||
InternalPreparePackages (
|
|
||||||
IN UINTN NumberOfPackages,
|
|
||||||
IN CONST EFI_GUID *Guid OPTIONAL,
|
|
||||||
IN VA_LIST Marker
|
|
||||||
)
|
|
||||||
{
|
|
||||||
EFI_HII_PACKAGES *HiiPackages;
|
|
||||||
VOID **Package;
|
|
||||||
UINTN Index;
|
|
||||||
|
|
||||||
ASSERT (NumberOfPackages > 0);
|
|
||||||
|
|
||||||
HiiPackages = AllocateZeroPool (sizeof (EFI_HII_PACKAGES) + NumberOfPackages * sizeof (VOID *));
|
|
||||||
ASSERT (HiiPackages != NULL);
|
|
||||||
|
|
||||||
HiiPackages->GuidId = (EFI_GUID *) Guid;
|
|
||||||
HiiPackages->NumberOfPackages = NumberOfPackages;
|
|
||||||
Package = (VOID **) (((UINT8 *) HiiPackages) + sizeof (EFI_HII_PACKAGES));
|
|
||||||
|
|
||||||
for (Index = 0; Index < NumberOfPackages; Index++) {
|
|
||||||
*Package = VA_ARG (Marker, VOID *);
|
|
||||||
Package++;
|
|
||||||
}
|
|
||||||
|
|
||||||
return HiiPackages;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
This function allocates pool for an EFI_HII_PACKAGES structure
|
|
||||||
with enough space for the variable argument list of package pointers.
|
|
||||||
The allocated structure is initialized using NumberOfPackages, Guid,
|
|
||||||
and the variable length argument list of package pointers.
|
|
||||||
|
|
||||||
@param NumberOfPackages The number of HII packages to prepare.
|
|
||||||
@param Guid Package GUID.
|
|
||||||
@param ... The variable argument list of package pointers.
|
|
||||||
|
|
||||||
@return The allocated and initialized packages.
|
|
||||||
**/
|
|
||||||
EFI_HII_PACKAGES *
|
|
||||||
EFIAPI
|
|
||||||
PreparePackages (
|
|
||||||
IN UINTN NumberOfPackages,
|
|
||||||
IN CONST EFI_GUID *Guid OPTIONAL,
|
|
||||||
...
|
|
||||||
)
|
|
||||||
{
|
|
||||||
VA_LIST Args;
|
|
||||||
|
|
||||||
VA_START (Args, Guid);
|
|
||||||
return InternalPreparePackages (NumberOfPackages, Guid, Args);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
This function allocates pool for an EFI_HII_PACKAGE_LIST structure
|
|
||||||
with additional space that is big enough to host all packages described by the variable
|
|
||||||
argument list of package pointers. The allocated structure is initialized using NumberOfPackages,
|
|
||||||
GuidId, and the variable length argument list of package pointers.
|
|
||||||
|
|
||||||
Then, EFI_HII_PACKAGE_LIST will be register to the default System HII Database. The
|
|
||||||
Handle to the newly registered Package List is returned throught HiiHandle.
|
|
||||||
|
|
||||||
@param NumberOfPackages The number of HII packages to register.
|
|
||||||
@param GuidId Package List GUID ID.
|
|
||||||
@param DriverHandle The pointer of driver handle
|
|
||||||
@param HiiHandle The ID used to retrieve the Package List later.
|
|
||||||
@param ... The variable argument list describing all HII Package.
|
|
||||||
|
|
||||||
@return The allocated and initialized packages.
|
|
||||||
**/
|
|
||||||
EFI_STATUS
|
|
||||||
EFIAPI
|
|
||||||
HiiLibAddPackages (
|
|
||||||
IN UINTN NumberOfPackages,
|
|
||||||
IN CONST EFI_GUID *GuidId,
|
|
||||||
IN EFI_HANDLE DriverHandle, OPTIONAL
|
|
||||||
OUT EFI_HII_HANDLE *HiiHandle,
|
|
||||||
...
|
|
||||||
)
|
|
||||||
{
|
|
||||||
VA_LIST Args;
|
|
||||||
EFI_HII_PACKAGES *FrameworkHiiPacages;
|
|
||||||
FRAMEWORK_EFI_HII_HANDLE FrameworkHiiHandle;
|
|
||||||
EFI_STATUS Status;
|
|
||||||
|
|
||||||
VA_START (Args, HiiHandle);
|
|
||||||
|
|
||||||
FrameworkHiiPacages = InternalPreparePackages (NumberOfPackages, GuidId, Args);
|
|
||||||
Status = mHii->NewPack (mHii, FrameworkHiiPacages, &FrameworkHiiHandle);
|
|
||||||
if (HiiHandle != NULL) {
|
|
||||||
if (EFI_ERROR (Status)) {
|
|
||||||
*HiiHandle = NULL;
|
|
||||||
} else {
|
|
||||||
*HiiHandle = (EFI_HII_HANDLE) (UINTN) FrameworkHiiHandle;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
FreePool (FrameworkHiiPacages);
|
|
||||||
|
|
||||||
return Status;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
Removes a package list from the default HII database.
|
|
||||||
|
|
||||||
If HiiHandle is NULL, then ASSERT.
|
|
||||||
If HiiHandle is not a valid EFI_HII_HANDLE in the default HII database, then ASSERT.
|
|
||||||
|
|
||||||
@param HiiHandle The handle that was previously registered to the data base that is requested for removal.
|
|
||||||
|
|
||||||
@return VOID
|
|
||||||
**/
|
|
||||||
VOID
|
|
||||||
EFIAPI
|
|
||||||
HiiLibRemovePackages (
|
|
||||||
IN EFI_HII_HANDLE HiiHandle
|
|
||||||
)
|
|
||||||
{
|
|
||||||
EFI_STATUS Status;
|
|
||||||
|
|
||||||
Status = mHii->RemovePack (mHii, (FRAMEWORK_EFI_HII_HANDLE) (UINTN) HiiHandle);
|
|
||||||
ASSERT_EFI_ERROR (Status);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
This function adds the string into String Package of each language.
|
|
||||||
|
|
||||||
@param PackageList Handle of the package list where this string will
|
|
||||||
be added.
|
|
||||||
@param StringId On return, contains the new strings id, which is
|
|
||||||
unique within PackageList.
|
|
||||||
@param String Points to the new null-terminated string.
|
|
||||||
|
|
||||||
@retval EFI_SUCCESS The new string was added successfully.
|
|
||||||
@retval EFI_NOT_FOUND The specified PackageList could not be found in
|
|
||||||
database.
|
|
||||||
@retval EFI_OUT_OF_RESOURCES Could not add the string due to lack of resources.
|
|
||||||
@retval EFI_INVALID_PARAMETER String is NULL or StringId is NULL is NULL.
|
|
||||||
|
|
||||||
**/
|
|
||||||
EFI_STATUS
|
|
||||||
EFIAPI
|
|
||||||
HiiLibNewString (
|
|
||||||
IN EFI_HII_HANDLE PackageList,
|
|
||||||
OUT EFI_STRING_ID *StringId,
|
|
||||||
IN CONST EFI_STRING String
|
|
||||||
)
|
|
||||||
{
|
|
||||||
FRAMEWORK_EFI_HII_HANDLE FrameworkHiiHandle;
|
|
||||||
EFI_STATUS Status;
|
|
||||||
|
|
||||||
FrameworkHiiHandle = (FRAMEWORK_EFI_HII_HANDLE) (UINTN) PackageList;
|
|
||||||
Status = mHii->NewString (
|
|
||||||
mHii,
|
|
||||||
NULL,
|
|
||||||
FrameworkHiiHandle,
|
|
||||||
StringId,
|
|
||||||
String
|
|
||||||
);
|
|
||||||
|
|
||||||
return Status;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
Get the string given the StringId and String package Producer's Guid. The caller
|
|
||||||
is responsible to free the *String.
|
|
||||||
|
|
||||||
If PackageList with the matching ProducerGuid is not found, then ASSERT.
|
|
||||||
If PackageList with the matching ProducerGuid is found but no String is
|
|
||||||
specified by StringId is found, then ASSERT.
|
|
||||||
|
|
||||||
@param ProducerGuid The Guid of String package list.
|
|
||||||
@param StringId The String ID.
|
|
||||||
@param String The output string.
|
|
||||||
|
|
||||||
@retval EFI_SUCCESS Operation is successful.
|
|
||||||
@retval EFI_OUT_OF_RESOURCES There is not enought memory in the system.
|
|
||||||
**/
|
|
||||||
EFI_STATUS
|
|
||||||
EFIAPI
|
|
||||||
HiiLibGetStringFromToken (
|
|
||||||
IN EFI_GUID *ProducerGuid,
|
|
||||||
IN EFI_STRING_ID StringId,
|
|
||||||
OUT EFI_STRING *String
|
|
||||||
)
|
|
||||||
{
|
|
||||||
return EFI_SUCCESS;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
Get string specified by StringId form the HiiHandle. The caller
|
|
||||||
is responsible to free the *String.
|
|
||||||
|
|
||||||
If String is NULL, then ASSERT.
|
|
||||||
If HiiHandle could not be found in the default HII database, then ASSERT.
|
|
||||||
If StringId is not found in PackageList, then ASSERT.
|
|
||||||
|
|
||||||
@param PackageList The HII handle of package list.
|
|
||||||
@param StringId The String ID.
|
|
||||||
@param String The output string.
|
|
||||||
|
|
||||||
@retval EFI_NOT_FOUND String is not found.
|
|
||||||
@retval EFI_SUCCESS Operation is successful.
|
|
||||||
@retval EFI_OUT_OF_RESOURCES There is not enought memory in the system.
|
|
||||||
|
|
||||||
**/
|
|
||||||
EFI_STATUS
|
|
||||||
EFIAPI
|
|
||||||
HiiLibGetStringFromHandle (
|
|
||||||
IN EFI_HII_HANDLE PackageList,
|
|
||||||
IN EFI_STRING_ID StringId,
|
|
||||||
OUT EFI_STRING *String
|
|
||||||
)
|
|
||||||
{
|
|
||||||
return EFI_SUCCESS;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
Create the driver handle for HII driver. The protocol and
|
|
||||||
Package list of this driver wili be installed into this
|
|
||||||
driver handle.
|
|
||||||
The implement set DriverHandle to NULL simpliy to let
|
|
||||||
handle manager create a default new handle.
|
|
||||||
|
|
||||||
@param DriverHandle The pointer of driver handle
|
|
||||||
|
|
||||||
@return Always success.
|
|
||||||
**/
|
|
||||||
EFI_STATUS
|
|
||||||
EFIAPI
|
|
||||||
HiiLibCreateHiiDriverHandle (
|
|
||||||
OUT EFI_HANDLE *DriverHandle
|
|
||||||
)
|
|
||||||
{
|
|
||||||
//
|
|
||||||
// Driver
|
|
||||||
// This implementation does nothing as DriverHandle concept only
|
|
||||||
// applies to UEFI HII specification.
|
|
||||||
//
|
|
||||||
|
|
||||||
*DriverHandle = NULL;
|
|
||||||
|
|
||||||
return EFI_SUCCESS;
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,51 +0,0 @@
|
||||||
#/** @file
|
|
||||||
# Library instance for HII common routines.
|
|
||||||
# This library instance implements the common HII routines.
|
|
||||||
#
|
|
||||||
# Copyright (c) 2006, Intel Corporation.
|
|
||||||
#
|
|
||||||
# All rights reserved. This program and the accompanying materials
|
|
||||||
# are licensed and made available under the terms and conditions of the BSD License
|
|
||||||
# which accompanies this distribution. The full text of the license may be found at
|
|
||||||
# http://opensource.org/licenses/bsd-license.php
|
|
||||||
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|
||||||
#
|
|
||||||
#
|
|
||||||
#**/
|
|
||||||
|
|
||||||
[Defines]
|
|
||||||
INF_VERSION = 0x00010005
|
|
||||||
BASE_NAME = FrameworkHiiLib
|
|
||||||
FILE_GUID = 1e2c4c2e-67e6-4e57-b3ae-cf5a5af72c2c
|
|
||||||
MODULE_TYPE = DXE_DRIVER
|
|
||||||
VERSION_STRING = 1.0
|
|
||||||
LIBRARY_CLASS = FrameworkHiiLib,HiiLib|DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER
|
|
||||||
PI_SPECIFICATION_VERSION = 0x00000009
|
|
||||||
CONSTRUCTOR = FrameworkHiiLibConstructor
|
|
||||||
|
|
||||||
#
|
|
||||||
# The following information is for reference only and not required by the build tools.
|
|
||||||
#
|
|
||||||
# VALID_ARCHITECTURES = IA32 X64 IPF EBC
|
|
||||||
#
|
|
||||||
|
|
||||||
[Sources.common]
|
|
||||||
HiiLib.c
|
|
||||||
|
|
||||||
[Packages]
|
|
||||||
MdePkg/MdePkg.dec
|
|
||||||
MdeModulePkg/MdeModulePkg.dec
|
|
||||||
IntelFrameworkPkg/IntelFrameworkPkg.dec
|
|
||||||
|
|
||||||
[LibraryClasses]
|
|
||||||
MemoryAllocationLib
|
|
||||||
DebugLib
|
|
||||||
UefiBootServicesTableLib
|
|
||||||
|
|
||||||
[Protocols]
|
|
||||||
gEfiHiiProtocolGuid # ALWAYS_CONSUMED
|
|
||||||
|
|
||||||
[Depex]
|
|
||||||
gEfiHiiProtocolGuid # ALWAYS_CONSUMED
|
|
||||||
|
|
Loading…
Reference in New Issue