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

@@ -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;
}