// Global variables\r
//\r
EFI_EVENT gHiiKeyboardLayoutChanged;\r
-STATIC EFI_GUID gHiiSetKbdLayoutEventGuid = EFI_HII_SET_KEYBOARD_LAYOUT_EVENT_GUID;\r
+EFI_GUID gHiiSetKbdLayoutEventGuid = EFI_HII_SET_KEYBOARD_LAYOUT_EVENT_GUID;\r
\r
-STATIC HII_DATABASE_PRIVATE_DATA mPrivate = {\r
+HII_DATABASE_PRIVATE_DATA mPrivate = {\r
HII_DATABASE_PRIVATE_DATA_SIGNATURE,\r
{\r
(LIST_ENTRY *) NULL,\r
HiiGetGlyph,\r
HiiGetFontInfo\r
},\r
-#ifndef _DISABLE_UNUSED_HII_PROTOCOLS_\r
{\r
- HiiNewImage,\r
- HiiGetImage,\r
- HiiSetImage,\r
- HiiDrawImage,\r
- HiiDrawImageId\r
+ NULL,\r
+ NULL,\r
+ NULL,\r
+ NULL,\r
+ NULL\r
},\r
-#endif\r
{\r
HiiNewString,\r
HiiGetString,\r
NULL\r
};\r
\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST EFI_HII_IMAGE_PROTOCOL mImageProtocol = {\r
+ HiiNewImage,\r
+ HiiGetImage,\r
+ HiiSetImage,\r
+ HiiDrawImage,\r
+ HiiDrawImageId\r
+};\r
+\r
/**\r
The default event handler for gHiiKeyboardLayoutChanged\r
event group.\r
// Create a event with EFI_HII_SET_KEYBOARD_LAYOUT_EVENT_GUID group type.\r
//\r
Status = gBS->CreateEventEx (\r
- EFI_EVENT_NOTIFY_SIGNAL,\r
+ EVT_NOTIFY_SIGNAL,\r
TPL_NOTIFY,\r
KeyboardLayoutChangeNullEvent,\r
NULL,\r
}\r
\r
Handle = NULL;\r
- return gBS->InstallMultipleProtocolInterfaces (\r
- &Handle,\r
- &gEfiHiiFontProtocolGuid,\r
- &mPrivate.HiiFont,\r
-#ifndef _DISABLE_UNUSED_HII_PROTOCOLS_\r
- &gEfiHiiImageProtocolGuid,\r
- &mPrivate.HiiImage,\r
-#endif\r
- &gEfiHiiStringProtocolGuid,\r
- &mPrivate.HiiString,\r
- &gEfiHiiDatabaseProtocolGuid,\r
- &mPrivate.HiiDatabase,\r
- &gEfiHiiConfigRoutingProtocolGuid,\r
- &mPrivate.ConfigRouting,\r
- NULL\r
- );\r
+ Status = gBS->InstallMultipleProtocolInterfaces (\r
+ &Handle,\r
+ &gEfiHiiFontProtocolGuid,\r
+ &mPrivate.HiiFont,\r
+ &gEfiHiiStringProtocolGuid,\r
+ &mPrivate.HiiString,\r
+ &gEfiHiiDatabaseProtocolGuid,\r
+ &mPrivate.HiiDatabase,\r
+ &gEfiHiiConfigRoutingProtocolGuid,\r
+ &mPrivate.ConfigRouting,\r
+ NULL\r
+ );\r
+\r
+ if (EFI_ERROR (Status)) {\r
+ return Status;\r
+ }\r
+\r
+ if (FeaturePcdGet (PcdSupportHiiImageProtocol)) {\r
+ CopyMem (&mPrivate.HiiImage, &mImageProtocol, sizeof (mImageProtocol));\r
+\r
+ Status = gBS->InstallMultipleProtocolInterfaces (\r
+ &Handle,\r
+ &gEfiHiiImageProtocolGuid,\r
+ &mPrivate.HiiImage,\r
+ NULL\r
+ );\r
+\r
+ }\r
+\r
+ return Status;\r
}\r
\r