CHAR16 VariableName[] = L"MyIfrNVData";\r
CHAR16 MyEfiVar[] = L"MyEfiVar";\r
EFI_HANDLE DriverHandle[2] = {NULL, NULL};\r
-DRIVER_SAMPLE_PRIVATE_DATA *PrivateData = NULL;\r
+DRIVER_SAMPLE_PRIVATE_DATA *mPrivateData = NULL;\r
EFI_EVENT mEvent;\r
\r
HII_VENDOR_DEVICE_PATH mHiiVendorDevicePath0 = {\r
\r
case EFI_BROWSER_ACTION_RETRIEVE:\r
{\r
- if (QuestionId == 0x1248) {\r
- {\r
- if (Type != EFI_IFR_TYPE_REF) {\r
- return EFI_INVALID_PARAMETER;\r
+ switch (QuestionId ) {\r
+ case 0x1248:\r
+ if (Type != EFI_IFR_TYPE_REF) {\r
+ return EFI_INVALID_PARAMETER;\r
+ }\r
+ Value->ref.FormId = 0x3;\r
+ break;\r
+\r
+ case 0x5678:\r
+ case 0x1247:\r
+ //\r
+ // We will reach here once the Question is refreshed\r
+ //\r
+\r
+ //\r
+ // Initialize the container for dynamic opcodes\r
+ //\r
+ StartOpCodeHandle = HiiAllocateOpCodeHandle ();\r
+ ASSERT (StartOpCodeHandle != NULL);\r
+\r
+ //\r
+ // Create Hii Extend Label OpCode as the start opcode\r
+ //\r
+ StartLabel = (EFI_IFR_GUID_LABEL *) HiiCreateGuidOpCode (StartOpCodeHandle, &gEfiIfrTianoGuid, NULL, sizeof (EFI_IFR_GUID_LABEL));\r
+ StartLabel->ExtendOpCode = EFI_IFR_EXTEND_OP_LABEL;\r
+ if (QuestionId == 0x5678) {\r
+ StartLabel->Number = LABEL_UPDATE2;\r
+ FormId = 0x03;\r
+ PrivateData->Configuration.DynamicRefresh++;\r
+ } else if (QuestionId == 0x1247 ) {\r
+ StartLabel->Number = LABEL_UPDATE3;\r
+ FormId = 0x06;\r
+ PrivateData->Configuration.RefreshGuidCount++;\r
+ }\r
+\r
+ HiiCreateActionOpCode (\r
+ StartOpCodeHandle, // Container for dynamic created opcodes\r
+ 0x1237, // Question ID\r
+ STRING_TOKEN(STR_EXIT_TEXT), // Prompt text\r
+ STRING_TOKEN(STR_EXIT_TEXT), // Help text\r
+ EFI_IFR_FLAG_CALLBACK, // Question flag\r
+ 0 // Action String ID\r
+ );\r
+ \r
+ HiiUpdateForm (\r
+ PrivateData->HiiHandle[0], // HII handle\r
+ &gDriverSampleFormSetGuid, // Formset GUID\r
+ FormId, // Form ID\r
+ StartOpCodeHandle, // Label for where to insert opcodes\r
+ NULL // Insert data\r
+ );\r
+\r
+ HiiFreeOpCodeHandle (StartOpCodeHandle);\r
+\r
+ //\r
+ // Refresh the Question value\r
+ //\r
+ Status = gRT->SetVariable(\r
+ VariableName,\r
+ &gDriverSampleFormSetGuid,\r
+ EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS,\r
+ sizeof (DRIVER_SAMPLE_CONFIGURATION),\r
+ &PrivateData->Configuration\r
+ );\r
+\r
+ if (QuestionId == 0x5678) {\r
+ //\r
+ // Update uncommitted data of Browser\r
+ //\r
+ EfiData = AllocateZeroPool (sizeof (MY_EFI_VARSTORE_DATA));\r
+ ASSERT (EfiData != NULL);\r
+ if (HiiGetBrowserData (&gDriverSampleFormSetGuid, MyEfiVar, sizeof (MY_EFI_VARSTORE_DATA), (UINT8 *) EfiData)) {\r
+ EfiData->Field8 = 111;\r
+ HiiSetBrowserData (\r
+ &gDriverSampleFormSetGuid,\r
+ MyEfiVar,\r
+ sizeof (MY_EFI_VARSTORE_DATA),\r
+ (UINT8 *) EfiData,\r
+ NULL\r
+ );\r
}\r
- \r
- Value->ref.FormId = 0x3;\r
+ FreePool (EfiData);\r
}\r
+ break;\r
}\r
}\r
break;\r
HiiFreeOpCodeHandle (EndOpCodeHandle);\r
break;\r
\r
- case 0x5678:\r
- case 0x1247:\r
- //\r
- // We will reach here once the Question is refreshed\r
- //\r
-\r
- //\r
- // Initialize the container for dynamic opcodes\r
- //\r
- StartOpCodeHandle = HiiAllocateOpCodeHandle ();\r
- ASSERT (StartOpCodeHandle != NULL);\r
-\r
- //\r
- // Create Hii Extend Label OpCode as the start opcode\r
- //\r
- StartLabel = (EFI_IFR_GUID_LABEL *) HiiCreateGuidOpCode (StartOpCodeHandle, &gEfiIfrTianoGuid, NULL, sizeof (EFI_IFR_GUID_LABEL));\r
- StartLabel->ExtendOpCode = EFI_IFR_EXTEND_OP_LABEL;\r
- if (QuestionId == 0x5678) {\r
- StartLabel->Number = LABEL_UPDATE2;\r
- FormId = 0x03;\r
- PrivateData->Configuration.DynamicRefresh++;\r
- } else if (QuestionId == 0x1247 ) {\r
- StartLabel->Number = LABEL_UPDATE3;\r
- FormId = 0x06;\r
- PrivateData->Configuration.RefreshGuidCount++;\r
- }\r
-\r
- HiiCreateActionOpCode (\r
- StartOpCodeHandle, // Container for dynamic created opcodes\r
- 0x1237, // Question ID\r
- STRING_TOKEN(STR_EXIT_TEXT), // Prompt text\r
- STRING_TOKEN(STR_EXIT_TEXT), // Help text\r
- EFI_IFR_FLAG_CALLBACK, // Question flag\r
- 0 // Action String ID\r
- );\r
-\r
- HiiUpdateForm (\r
- PrivateData->HiiHandle[0], // HII handle\r
- &gDriverSampleFormSetGuid, // Formset GUID\r
- FormId, // Form ID\r
- StartOpCodeHandle, // Label for where to insert opcodes\r
- NULL // Insert data\r
- );\r
-\r
- HiiFreeOpCodeHandle (StartOpCodeHandle);\r
-\r
- //\r
- // Refresh the Question value\r
- //\r
- Status = gRT->SetVariable(\r
- VariableName,\r
- &gDriverSampleFormSetGuid,\r
- EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS,\r
- sizeof (DRIVER_SAMPLE_CONFIGURATION),\r
- &PrivateData->Configuration\r
- );\r
-\r
- if (QuestionId == 0x5678) {\r
- //\r
- // Update uncommitted data of Browser\r
- //\r
- EfiData = AllocateZeroPool (sizeof (MY_EFI_VARSTORE_DATA));\r
- ASSERT (EfiData != NULL);\r
- if (HiiGetBrowserData (&gDriverSampleFormSetGuid, MyEfiVar, sizeof (MY_EFI_VARSTORE_DATA), (UINT8 *) EfiData)) {\r
- EfiData->Field8 = 111;\r
- HiiSetBrowserData (\r
- &gDriverSampleFormSetGuid,\r
- MyEfiVar,\r
- sizeof (MY_EFI_VARSTORE_DATA),\r
- (UINT8 *) EfiData,\r
- NULL\r
- );\r
- }\r
- FreePool (EfiData);\r
- }\r
- break;\r
-\r
case 0x2000:\r
//\r
// Only used to update the state.\r
//\r
// Initialize driver private data\r
//\r
- PrivateData = AllocateZeroPool (sizeof (DRIVER_SAMPLE_PRIVATE_DATA));\r
- if (PrivateData == NULL) {\r
+ mPrivateData = AllocateZeroPool (sizeof (DRIVER_SAMPLE_PRIVATE_DATA));\r
+ if (mPrivateData == NULL) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
\r
- PrivateData->Signature = DRIVER_SAMPLE_PRIVATE_SIGNATURE;\r
+ mPrivateData->Signature = DRIVER_SAMPLE_PRIVATE_SIGNATURE;\r
\r
- PrivateData->ConfigAccess.ExtractConfig = ExtractConfig;\r
- PrivateData->ConfigAccess.RouteConfig = RouteConfig;\r
- PrivateData->ConfigAccess.Callback = DriverCallback;\r
- PrivateData->PasswordState = BROWSER_STATE_VALIDATE_PASSWORD;\r
+ mPrivateData->ConfigAccess.ExtractConfig = ExtractConfig;\r
+ mPrivateData->ConfigAccess.RouteConfig = RouteConfig;\r
+ mPrivateData->ConfigAccess.Callback = DriverCallback;\r
+ mPrivateData->PasswordState = BROWSER_STATE_VALIDATE_PASSWORD;\r
\r
//\r
// Locate Hii Database protocol\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
- PrivateData->HiiDatabase = HiiDatabase;\r
+ mPrivateData->HiiDatabase = HiiDatabase;\r
\r
//\r
// Locate HiiString protocol\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
- PrivateData->HiiString = HiiString;\r
+ mPrivateData->HiiString = HiiString;\r
\r
//\r
// Locate Formbrowser2 protocol\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
- PrivateData->FormBrowser2 = FormBrowser2;\r
+ mPrivateData->FormBrowser2 = FormBrowser2;\r
\r
//\r
// Locate ConfigRouting protocol\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
- PrivateData->HiiConfigRouting = HiiConfigRouting;\r
+ mPrivateData->HiiConfigRouting = HiiConfigRouting;\r
\r
//\r
// Locate keyword handler protocol\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
- PrivateData->HiiKeywordHandler = HiiKeywordHandler;\r
+ mPrivateData->HiiKeywordHandler = HiiKeywordHandler;\r
\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
&DriverHandle[0],\r
&gEfiDevicePathProtocolGuid,\r
&mHiiVendorDevicePath0,\r
&gEfiHiiConfigAccessProtocolGuid,\r
- &PrivateData->ConfigAccess,\r
+ &mPrivateData->ConfigAccess,\r
NULL\r
);\r
ASSERT_EFI_ERROR (Status);\r
\r
- PrivateData->DriverHandle[0] = DriverHandle[0];\r
+ mPrivateData->DriverHandle[0] = DriverHandle[0];\r
\r
//\r
// Publish our HII data\r
return EFI_OUT_OF_RESOURCES;\r
}\r
\r
- PrivateData->HiiHandle[0] = HiiHandle[0];\r
+ mPrivateData->HiiHandle[0] = HiiHandle[0];\r
\r
//\r
// Publish another Fromset\r
&gEfiDevicePathProtocolGuid,\r
&mHiiVendorDevicePath1,\r
&gEfiHiiConfigAccessProtocolGuid,\r
- &PrivateData->ConfigAccess,\r
+ &mPrivateData->ConfigAccess,\r
NULL\r
);\r
ASSERT_EFI_ERROR (Status);\r
\r
- PrivateData->DriverHandle[1] = DriverHandle[1];\r
+ mPrivateData->DriverHandle[1] = DriverHandle[1];\r
\r
HiiHandle[1] = HiiAddPackages (\r
&gDriverSampleInventoryGuid,\r
return EFI_OUT_OF_RESOURCES;\r
}\r
\r
- PrivateData->HiiHandle[1] = HiiHandle[1];\r
+ mPrivateData->HiiHandle[1] = HiiHandle[1];\r
\r
//\r
// Update the device path string.\r
//\r
// Initialize Name/Value name String ID\r
//\r
- PrivateData->NameStringId[0] = STR_NAME_VALUE_VAR_NAME0;\r
- PrivateData->NameStringId[1] = STR_NAME_VALUE_VAR_NAME1;\r
- PrivateData->NameStringId[2] = STR_NAME_VALUE_VAR_NAME2;\r
+ mPrivateData->NameStringId[0] = STR_NAME_VALUE_VAR_NAME0;\r
+ mPrivateData->NameStringId[1] = STR_NAME_VALUE_VAR_NAME1;\r
+ mPrivateData->NameStringId[2] = STR_NAME_VALUE_VAR_NAME2;\r
\r
//\r
// Initialize configuration data\r
//\r
- Configuration = &PrivateData->Configuration;\r
+ Configuration = &mPrivateData->Configuration;\r
ZeroMem (Configuration, sizeof (DRIVER_SAMPLE_CONFIGURATION));\r
\r
//\r
//\r
// Initialize efi varstore configuration data\r
//\r
- VarStoreConfig = &PrivateData->VarStoreConfig;\r
+ VarStoreConfig = &mPrivateData->VarStoreConfig;\r
ZeroMem (VarStoreConfig, sizeof (MY_EFI_VARSTORE_DATA));\r
\r
ConfigRequestHdr = HiiConstructConfigHdr (&gDriverSampleFormSetGuid, MyEfiVar, DriverHandle[0]);\r
// Register the default HotKey F9 and F10 again.\r
//\r
HotKey.ScanCode = SCAN_F10;\r
- NewString = HiiGetString (PrivateData->HiiHandle[0], STRING_TOKEN (FUNCTION_TEN_STRING), NULL);\r
+ NewString = HiiGetString (mPrivateData->HiiHandle[0], STRING_TOKEN (FUNCTION_TEN_STRING), NULL);\r
ASSERT (NewString != NULL);\r
FormBrowserEx->RegisterHotKey (&HotKey, BROWSER_ACTION_SUBMIT, 0, NewString);\r
HotKey.ScanCode = SCAN_F9;\r
- NewString = HiiGetString (PrivateData->HiiHandle[0], STRING_TOKEN (FUNCTION_NINE_STRING), NULL);\r
+ NewString = HiiGetString (mPrivateData->HiiHandle[0], STRING_TOKEN (FUNCTION_NINE_STRING), NULL);\r
ASSERT (NewString != NULL);\r
FormBrowserEx->RegisterHotKey (&HotKey, BROWSER_ACTION_DEFAULT, EFI_HII_DEFAULT_CLASS_STANDARD, NewString);\r
}\r
{\r
UINTN Index;\r
\r
- ASSERT (PrivateData != NULL);\r
+ ASSERT (mPrivateData != NULL);\r
\r
if (DriverHandle[0] != NULL) {\r
gBS->UninstallMultipleProtocolInterfaces (\r
&gEfiDevicePathProtocolGuid,\r
&mHiiVendorDevicePath0,\r
&gEfiHiiConfigAccessProtocolGuid,\r
- &PrivateData->ConfigAccess,\r
+ &mPrivateData->ConfigAccess,\r
NULL\r
);\r
DriverHandle[0] = NULL;\r
DriverHandle[1] = NULL;\r
}\r
\r
- if (PrivateData->HiiHandle[0] != NULL) {\r
- HiiRemovePackages (PrivateData->HiiHandle[0]);\r
+ if (mPrivateData->HiiHandle[0] != NULL) {\r
+ HiiRemovePackages (mPrivateData->HiiHandle[0]);\r
}\r
\r
- if (PrivateData->HiiHandle[1] != NULL) {\r
- HiiRemovePackages (PrivateData->HiiHandle[1]);\r
+ if (mPrivateData->HiiHandle[1] != NULL) {\r
+ HiiRemovePackages (mPrivateData->HiiHandle[1]);\r
}\r
\r
for (Index = 0; Index < NAME_VALUE_NAME_NUMBER; Index++) {\r
- if (PrivateData->NameValueName[Index] != NULL) {\r
- FreePool (PrivateData->NameValueName[Index]);\r
+ if (mPrivateData->NameValueName[Index] != NULL) {\r
+ FreePool (mPrivateData->NameValueName[Index]);\r
}\r
}\r
- FreePool (PrivateData);\r
- PrivateData = NULL;\r
+ FreePool (mPrivateData);\r
+ mPrivateData = NULL;\r
\r
gBS->CloseEvent (mEvent);\r
\r