\r
#include "UserProfileManager.h"\r
\r
-EFI_GUID mUserProfileManagerGuid = USER_PROFILE_MANAGER_GUID;\r
EFI_USER_MANAGER_PROTOCOL *mUserManager = NULL;\r
CREDENTIAL_PROVIDER_INFO *mProviderInfo = NULL;\r
UINT8 mProviderChoice;\r
(UINT8) ((sizeof (VENDOR_DEVICE_PATH)) >> 8)\r
}\r
},\r
- {0xad2e3474, 0x93e6, 0x488b, {0x93, 0x19, 0x64, 0x88, 0xfc, 0x68, 0x1f, 0x16}}\r
+ USER_PROFILE_MANAGER_GUID\r
},\r
{\r
END_DEVICE_PATH_TYPE,\r
HandleBuf = NULL;\r
Status = gBS->LocateHandleBuffer (\r
ByProtocol,\r
- &gEfiUserCredentialProtocolGuid,\r
+ &gEfiUserCredential2ProtocolGuid,\r
NULL,\r
&HandleCount,\r
&HandleBuf\r
}\r
mProviderInfo = AllocateZeroPool (\r
sizeof (CREDENTIAL_PROVIDER_INFO) - \r
- sizeof (EFI_USER_CREDENTIAL_PROTOCOL *) +\r
- HandleCount * sizeof (EFI_USER_CREDENTIAL_PROTOCOL *)\r
+ sizeof (EFI_USER_CREDENTIAL2_PROTOCOL *) +\r
+ HandleCount * sizeof (EFI_USER_CREDENTIAL2_PROTOCOL *)\r
);\r
if (mProviderInfo == NULL) {\r
FreePool (HandleBuf);\r
for (Index = 0; Index < HandleCount; Index++) {\r
Status = gBS->HandleProtocol (\r
HandleBuf[Index],\r
- &gEfiUserCredentialProtocolGuid,\r
+ &gEfiUserCredential2ProtocolGuid,\r
(VOID **) &mProviderInfo->Provider[Index]\r
);\r
if (EFI_ERROR (Status)) {\r
\r
HiiUpdateForm (\r
mCallbackInfo->HiiHandle, // HII handle\r
- &mUserProfileManagerGuid, // Formset GUID\r
+ &gUserProfileManagerGuid, // Formset GUID\r
FORMID_USER_MANAGE, // Form ID\r
StartOpCodeHandle, // Label for where to insert opcodes\r
EndOpCodeHandle // Replace data\r
Status = EFI_SUCCESS;\r
break;\r
\r
- case EFI_BROWSER_ACTION_CHANGING:\r
+ case EFI_BROWSER_ACTION_CHANGED:\r
{ \r
//\r
// Handle the request from form.\r
// Judge next 2 bits.\r
//\r
switch (QuestionId & KEY_SECOND_FORM_MASK) {\r
- //\r
- // Enter delete user profile form.\r
- //\r
- case KEY_ENTER_NEXT_FORM:\r
- SelectUserToDelete ();\r
- break;\r
-\r
//\r
// Delete specified user profile.\r
//\r
// Judge next 2 bits.\r
//\r
switch (QuestionId & KEY_SECOND_FORM_MASK) {\r
- //\r
- // Enter modify user profile form.\r
- //\r
- case KEY_ENTER_NEXT_FORM:\r
- SelectUserToModify ();\r
- break;\r
-\r
//\r
// Enter user profile information form.\r
//\r
// Judge next 3 bits.\r
//\r
switch (QuestionId & KEY_MODIFY_INFO_MASK) {\r
- //\r
- // Display user information form.\r
- //\r
- case KEY_ENTER_NEXT_FORM:\r
- ModifyUserInfo ((UINT8) QuestionId);\r
- break;\r
-\r
//\r
// Modify user name.\r
//\r
// Judge next 3 bits\r
//\r
switch (QuestionId & KEY_MODIFY_IP_MASK) {\r
- //\r
- // Display identity policy modify form.\r
- //\r
- case KEY_ENTER_NEXT_FORM:\r
- ModifyIdentityPolicy ();\r
- break;\r
-\r
//\r
// Change credential provider option.\r
//\r
case KEY_MODIFY_PROV: \r
mProviderChoice = Value->u8;\r
- *ActionRequest = EFI_BROWSER_ACTION_REQUEST_SUBMIT;\r
break;\r
\r
//\r
//\r
case KEY_MODIFY_CONN:\r
mConncetLogical = Value->u8;\r
- *ActionRequest = EFI_BROWSER_ACTION_REQUEST_SUBMIT;\r
break;\r
\r
//\r
//\r
case KEY_IP_RETURN_UIF:\r
SaveIdentityPolicy ();\r
- *ActionRequest = EFI_BROWSER_ACTION_REQUEST_SUBMIT;\r
+ *ActionRequest = EFI_BROWSER_ACTION_REQUEST_FORM_SUBMIT_EXIT;\r
break;\r
\r
default:\r
// Judge next 3 bits.\r
//\r
switch (QuestionId & KEY_MODIFY_AP_MASK) {\r
- //\r
- // Display access policy modify form.\r
- //\r
- case KEY_ENTER_NEXT_FORM:\r
- ModidyAccessPolicy ();\r
- break;\r
-\r
//\r
// Change access right choice.\r
//\r
case KEY_MODIFY_RIGHT:\r
mAccessInfo.AccessRight = Value->u8;\r
- *ActionRequest = EFI_BROWSER_ACTION_REQUEST_SUBMIT;\r
break;\r
\r
//\r
//\r
case KEY_MODIFY_SETUP:\r
mAccessInfo.AccessSetup= Value->u8;\r
- *ActionRequest = EFI_BROWSER_ACTION_REQUEST_SUBMIT;\r
break;\r
\r
//\r
//\r
case KEY_MODIFY_BOOT:\r
mAccessInfo.AccessBootOrder = Value->u32;\r
- *ActionRequest = EFI_BROWSER_ACTION_REQUEST_SUBMIT;\r
- break;\r
-\r
- //\r
- // Load device path form.\r
- //\r
- case KEY_MODIFY_LOAD:\r
- //\r
- // Judge next 2 bits.\r
- //\r
- switch (QuestionId & KEY_DISPLAY_DP_MASK) {\r
- //\r
- // Permit load device path.\r
- //\r
- case KEY_PERMIT_MODIFY:\r
- DisplayLoadPermit ();\r
- break;\r
-\r
- //\r
- // Forbid load device path.\r
- //\r
- case KEY_FORBID_MODIFY:\r
- DisplayLoadForbid ();\r
- break;\r
-\r
- default:\r
- break;\r
- }\r
- break;\r
-\r
- //\r
- // Connect device path form.\r
- //\r
- case KEY_MODIFY_CONNECT:\r
- //\r
- // Judge next 2 bits.\r
- //\r
- switch (QuestionId & KEY_DISPLAY_DP_MASK) {\r
- //\r
- // Permit connect device path.\r
- //\r
- case KEY_PERMIT_MODIFY:\r
- DisplayConnectPermit ();\r
- break;\r
-\r
- //\r
- // Forbid connect device path.\r
- //\r
- case KEY_FORBID_MODIFY:\r
- DisplayConnectForbid ();\r
- break;\r
-\r
- default:\r
- break;\r
- }\r
break;\r
\r
//\r
//\r
case KEY_AP_RETURN_UIF:\r
SaveAccessPolicy ();\r
- *ActionRequest = EFI_BROWSER_ACTION_REQUEST_SUBMIT;\r
+ *ActionRequest = EFI_BROWSER_ACTION_REQUEST_FORM_SUBMIT_EXIT;\r
break;\r
\r
default:\r
}\r
break;\r
\r
+\r
+ case EFI_BROWSER_ACTION_CHANGING:\r
+ { \r
+ //\r
+ // Handle the request from form.\r
+ //\r
+ if (Value == NULL) {\r
+ return EFI_INVALID_PARAMETER;\r
+ }\r
+ \r
+ //\r
+ // Judge first 2 bits.\r
+ //\r
+ switch (QuestionId & KEY_FIRST_FORM_MASK) {\r
+ //\r
+ // Delete user profile operation.\r
+ //\r
+ case KEY_DEL_USER:\r
+ //\r
+ // Judge next 2 bits.\r
+ //\r
+ switch (QuestionId & KEY_SECOND_FORM_MASK) {\r
+ //\r
+ // Enter delete user profile form.\r
+ //\r
+ case KEY_ENTER_NEXT_FORM:\r
+ SelectUserToDelete ();\r
+ break;\r
+\r
+ default:\r
+ break;\r
+ }\r
+ break;\r
+\r
+ //\r
+ // Modify user profile operation.\r
+ //\r
+ case KEY_MODIFY_USER:\r
+ //\r
+ // Judge next 2 bits.\r
+ //\r
+ switch (QuestionId & KEY_SECOND_FORM_MASK) {\r
+ //\r
+ // Enter modify user profile form.\r
+ //\r
+ case KEY_ENTER_NEXT_FORM:\r
+ SelectUserToModify ();\r
+ break;\r
+\r
+ //\r
+ // Enter user profile information form.\r
+ //\r
+ case KEY_SELECT_USER:\r
+ //\r
+ // Judge next 3 bits.\r
+ //\r
+ switch (QuestionId & KEY_MODIFY_INFO_MASK) {\r
+ //\r
+ // Display user information form.\r
+ //\r
+ case KEY_ENTER_NEXT_FORM:\r
+ ModifyUserInfo ((UINT8) QuestionId);\r
+ break;\r
+\r
+ //\r
+ // Modify identity policy.\r
+ //\r
+ case KEY_MODIFY_IP:\r
+ //\r
+ // Judge next 3 bits\r
+ //\r
+ switch (QuestionId & KEY_MODIFY_IP_MASK) {\r
+ //\r
+ // Display identity policy modify form.\r
+ //\r
+ case KEY_ENTER_NEXT_FORM:\r
+ ModifyIdentityPolicy ();\r
+ break;\r
+\r
+ default:\r
+ break;\r
+ }\r
+ break;\r
+\r
+ //\r
+ // Modify access policy.\r
+ //\r
+ case KEY_MODIFY_AP:\r
+ //\r
+ // Judge next 3 bits.\r
+ //\r
+ switch (QuestionId & KEY_MODIFY_AP_MASK) {\r
+ //\r
+ // Display access policy modify form.\r
+ //\r
+ case KEY_ENTER_NEXT_FORM:\r
+ ModidyAccessPolicy ();\r
+ break;\r
+ //\r
+ // Load device path form.\r
+ //\r
+ case KEY_MODIFY_LOAD:\r
+ //\r
+ // Judge next 2 bits.\r
+ //\r
+ switch (QuestionId & KEY_DISPLAY_DP_MASK) {\r
+ //\r
+ // Permit load device path.\r
+ //\r
+ case KEY_PERMIT_MODIFY:\r
+ DisplayLoadPermit ();\r
+ break;\r
+ \r
+ //\r
+ // Forbid load device path.\r
+ //\r
+ case KEY_FORBID_MODIFY:\r
+ DisplayLoadForbid ();\r
+ break;\r
+ \r
+ default:\r
+ break;\r
+ }\r
+ break;\r
+ \r
+ //\r
+ // Connect device path form.\r
+ //\r
+ case KEY_MODIFY_CONNECT:\r
+ //\r
+ // Judge next 2 bits.\r
+ //\r
+ switch (QuestionId & KEY_DISPLAY_DP_MASK) {\r
+ //\r
+ // Permit connect device path.\r
+ //\r
+ case KEY_PERMIT_MODIFY:\r
+ DisplayConnectPermit ();\r
+ break;\r
+ \r
+ //\r
+ // Forbid connect device path.\r
+ //\r
+ case KEY_FORBID_MODIFY:\r
+ DisplayConnectForbid ();\r
+ break;\r
+ \r
+ default:\r
+ break;\r
+ }\r
+ break;\r
+\r
+ default:\r
+ break;\r
+ }\r
+ break;\r
+\r
+ default:\r
+ break;\r
+ }\r
+ break;\r
+\r
+ default:\r
+ break;\r
+ }\r
+ break;\r
+\r
+ default:\r
+ break;\r
+ }\r
+ }\r
+ break;\r
+\r
default:\r
//\r
// All other action return unsupported.\r
// Publish HII data.\r
//\r
CallbackInfo->HiiHandle = HiiAddPackages (\r
- &mUserProfileManagerGuid,\r
+ &gUserProfileManagerGuid,\r
CallbackInfo->DriverHandle,\r
UserProfileManagerStrings,\r
UserProfileManagerVfrBin,\r