Use two PCDs to replace _DISABLE_UNUSED_HII_PROTOCOLS_ macro.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5498 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
qwang12 2008-07-16 09:36:33 +00:00
parent 63e4dba96a
commit e94358a3fe
5 changed files with 84 additions and 54 deletions

View File

@ -25,8 +25,6 @@ Revision History
#include "HiiDatabase.h"
#ifndef _DISABLE_UNUSED_HII_PROTOCOLS_
/**
Calculate the number of Unicode characters of the incoming Configuration string,
not including NULL terminator.
@ -447,8 +445,6 @@ OutputConfigBody (
}
#endif
/**
Adjusts the size of a previously allocated buffer.
@ -660,8 +656,6 @@ HiiConfigRoutingExtractConfig (
OUT EFI_STRING *Results
)
{
#ifndef _DISABLE_UNUSED_HII_PROTOCOLS_
HII_DATABASE_PRIVATE_DATA *Private;
EFI_STRING StringPtr;
EFI_STRING ConfigRequest;
@ -678,6 +672,15 @@ HiiConfigRoutingExtractConfig (
UINTN RemainSize;
EFI_STRING TmpPtr;
//
// For size reduction, please define PcdSupportFullConfigRoutingProtocol
// as FALSE. But this renders the system to not 100% compliant with
// UEFI 2.1. Use this with caution.
//
if (!FeaturePcdGet (PcdSupportFullConfigRoutingProtocol)) {
return EFI_UNSUPPORTED;
}
if (This == NULL || Progress == NULL || Results == NULL) {
return EFI_INVALID_PARAMETER;
}
@ -826,9 +829,6 @@ HiiConfigRoutingExtractConfig (
}
return EFI_SUCCESS;
#else
return EFI_UNSUPPORTED;
#endif
}
@ -862,8 +862,6 @@ HiiConfigRoutingExportConfig (
OUT EFI_STRING *Results
)
{
#ifndef _DISABLE_UNUSED_HII_PROTOCOLS_
EFI_STATUS Status;
HII_DATABASE_PRIVATE_DATA *Private;
LIST_ENTRY StorageListHdr;
@ -881,6 +879,15 @@ HiiConfigRoutingExportConfig (
EFI_STRING AccessResults;
UINTN TmpSize;
//
// For size reduction, please define PcdSupportFullConfigRoutingProtocol
// as FALSE. But this renders the system to not 100% compliant with
// UEFI 2.1. Use this with caution.
//
if (!FeaturePcdGet (PcdSupportFullConfigRoutingProtocol)) {
return EFI_UNSUPPORTED;
}
if (This == NULL || Results == NULL) {
return EFI_INVALID_PARAMETER;
}
@ -1050,9 +1057,6 @@ HiiConfigRoutingExportConfig (
}
return EFI_SUCCESS;
#else
return EFI_UNSUPPORTED;
#endif
}
@ -1089,8 +1093,6 @@ HiiConfigRoutingRouteConfig (
OUT EFI_STRING *Progress
)
{
#ifndef _DISABLE_UNUSED_HII_PROTOCOLS_
HII_DATABASE_PRIVATE_DATA *Private;
EFI_STRING StringPtr;
EFI_STRING ConfigResp;
@ -1106,6 +1108,15 @@ HiiConfigRoutingRouteConfig (
UINTN RemainSize;
EFI_STRING TmpPtr;
//
// For size reduction, please define PcdSupportFullConfigRoutingProtocol
// as FALSE. But this renders the system to not 100% compliant with
// UEFI 2.1. Use this with caution.
//
if (!FeaturePcdGet (PcdSupportFullConfigRoutingProtocol)) {
return EFI_UNSUPPORTED;
}
if (This == NULL || Progress == NULL) {
return EFI_INVALID_PARAMETER;
}
@ -1240,9 +1251,6 @@ HiiConfigRoutingRouteConfig (
}
return EFI_SUCCESS;
#else
return EFI_UNSUPPORTED;
#endif
}
@ -1761,8 +1769,6 @@ HiiGetAltCfg (
OUT EFI_STRING *AltCfgResp
)
{
#ifndef _DISABLE_UNUSED_HII_PROTOCOLS_
EFI_STATUS Status;
EFI_STRING StringPtr;
EFI_STRING HdrStart;
@ -1778,6 +1784,15 @@ HiiGetAltCfg (
BOOLEAN NameFlag;
BOOLEAN PathFlag;
//
// For size reduction, please define PcdSupportFullConfigRoutingProtocol
// as FALSE. But this renders the system to not 100% compliant with
// UEFI 2.1. Use this with caution.
//
if (!FeaturePcdGet (PcdSupportFullConfigRoutingProtocol)) {
return EFI_UNSUPPORTED;
}
HdrStart = NULL;
HdrEnd = NULL;
GuidStr = NULL;
@ -1945,10 +1960,6 @@ Exit:
return Status;
#else
return EFI_UNSUPPORTED;
#endif
}

View File

@ -39,6 +39,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include <Library/MemoryAllocationLib.h>
#include <Library/IfrSupportLib.h>
#include <Library/HiiLib.h>
#include <Library/PcdLib.h>
#define HII_DATABASE_NOTIFY_GUID \
{ \
@ -241,9 +242,7 @@ typedef struct _HII_DATABASE_PRIVATE_DATA {
LIST_ENTRY DatabaseList;
LIST_ENTRY DatabaseNotifyList;
EFI_HII_FONT_PROTOCOL HiiFont;
#ifndef _DISABLE_UNUSED_HII_PROTOCOLS_
EFI_HII_IMAGE_PROTOCOL HiiImage;
#endif
EFI_HII_STRING_PROTOCOL HiiString;
EFI_HII_DATABASE_PROTOCOL HiiDatabase;
EFI_HII_CONFIG_ROUTING_PROTOCOL ConfigRouting;

View File

@ -70,7 +70,10 @@
gEfiHiiFontProtocolGuid
gEfiHiiConfigAccessProtocolGuid
[FeaturePcd.common]
gEfiMdeModulePkgTokenSpaceGuid.PcdSupportHiiImageProtocol
gEfiMdeModulePkgTokenSpaceGuid.PcdSupportFullConfigRoutingProtocol
[Depex]
TRUE

View File

@ -48,15 +48,13 @@ STATIC HII_DATABASE_PRIVATE_DATA mPrivate = {
HiiGetGlyph,
HiiGetFontInfo
},
#ifndef _DISABLE_UNUSED_HII_PROTOCOLS_
{
HiiNewImage,
HiiGetImage,
HiiSetImage,
HiiDrawImage,
HiiDrawImageId
NULL,
NULL,
NULL,
NULL,
NULL
},
#endif
{
HiiNewString,
HiiGetString,
@ -104,6 +102,14 @@ STATIC HII_DATABASE_PRIVATE_DATA mPrivate = {
NULL
};
GLOBAL_REMOVE_IF_UNREFERENCED CONST EFI_HII_IMAGE_PROTOCOL mImageProtocol = {
HiiNewImage,
HiiGetImage,
HiiSetImage,
HiiDrawImage,
HiiDrawImageId
};
/**
The default event handler for gHiiKeyboardLayoutChanged
event group.
@ -180,21 +186,35 @@ InitializeHiiDatabase (
}
Handle = NULL;
return gBS->InstallMultipleProtocolInterfaces (
&Handle,
&gEfiHiiFontProtocolGuid,
&mPrivate.HiiFont,
#ifndef _DISABLE_UNUSED_HII_PROTOCOLS_
&gEfiHiiImageProtocolGuid,
&mPrivate.HiiImage,
#endif
&gEfiHiiStringProtocolGuid,
&mPrivate.HiiString,
&gEfiHiiDatabaseProtocolGuid,
&mPrivate.HiiDatabase,
&gEfiHiiConfigRoutingProtocolGuid,
&mPrivate.ConfigRouting,
NULL
);
Status = gBS->InstallMultipleProtocolInterfaces (
&Handle,
&gEfiHiiFontProtocolGuid,
&mPrivate.HiiFont,
&gEfiHiiStringProtocolGuid,
&mPrivate.HiiString,
&gEfiHiiDatabaseProtocolGuid,
&mPrivate.HiiDatabase,
&gEfiHiiConfigRoutingProtocolGuid,
&mPrivate.ConfigRouting,
NULL
);
if (EFI_ERROR (Status)) {
return Status;
}
if (FeaturePcdGet (PcdSupportHiiImageProtocol)) {
CopyMem (&mPrivate.HiiImage, &mImageProtocol, sizeof (mImageProtocol));
Status = gBS->InstallMultipleProtocolInterfaces (
&Handle,
&gEfiHiiImageProtocolGuid,
&mPrivate.HiiImage,
NULL
);
}
return Status;
}

View File

@ -16,7 +16,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include "HiiDatabase.h"
#ifndef _DISABLE_UNUSED_HII_PROTOCOLS_
/**
Get the imageid of last image block: EFI_HII_IIBT_END_BLOCK when input
@ -1499,5 +1498,3 @@ HiiDrawImageId (
return Status;
}
#endif