/** @file\r
The header file for user profile manager driver.\r
\r
-Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2009 - 2013, Intel Corporation. All rights reserved.<BR>\r
This program and the accompanying materials \r
are licensed and made available under the terms and conditions of the BSD License \r
which accompanies this distribution. The full text of the license may be found at \r
#include <Guid/MdeModuleHii.h>\r
\r
#include <Protocol/HiiConfigAccess.h>\r
-#include <Protocol/DevicePathToText.h>\r
-#include <Protocol/UserCredential.h>\r
+#include <Protocol/UserCredential2.h>\r
#include <Protocol/UserManager.h>\r
\r
#include <Library/UefiRuntimeServicesTableLib.h>\r
//\r
typedef struct {\r
UINTN Count;\r
- EFI_USER_CREDENTIAL_PROTOCOL *Provider[1];\r
+ EFI_USER_CREDENTIAL2_PROTOCOL *Provider[1];\r
} CREDENTIAL_PROVIDER_INFO;\r
\r
//\r
//\r
extern UINT8 UserProfileManagerStrings[];\r
\r
-//\r
-// Guid used in the form browse.\r
-//\r
-extern EFI_GUID mUserProfileManagerGuid;\r
-\r
//\r
// The user manager protocol, used in several function.\r
//\r
\r
extern USER_PROFILE_MANAGER_CALLBACK_INFO *mCallbackInfo;\r
\r
+extern EFI_USER_PROFILE_HANDLE mModifyUser;\r
\r
/**\r
Get string by string id from HII Interface.\r
/**\r
Save the identity policy and update UI with it.\r
\r
- This funciton will verify the new identity policy, in current implementation, \r
+ This function will verify the new identity policy, in current implementation, \r
the identity policy can be: T, P & P & P & ..., P | P | P | ...\r
Here, "T" means "True", "P" means "Credential Provider", "&" means "and", "|" means "or".\r
Other identity policies are not supported. \r
IN OUT UINTN *UserNameLen,\r
OUT CHAR16 *UserName\r
);\r
+\r
+/**\r
+ Find the specified info in User profile by the InfoType.\r
+\r
+ @param[in] User Handle of the user whose information will be searched.\r
+ @param[in] InfoType The user information type to find.\r
+ @param[out] UserInfo Points to user information handle found.\r
+ \r
+ @retval EFI_SUCCESS Find the user information successfully.\r
+ @retval Others Fail to find the user information.\r
+\r
+**/\r
+EFI_STATUS\r
+FindInfoByType (\r
+ IN EFI_USER_PROFILE_HANDLE User,\r
+ IN UINT8 InfoType,\r
+ OUT EFI_USER_INFO_HANDLE *UserInfo\r
+ );\r
+\r
+/**\r
+ Convert the identity policy to a unicode string and update the Hii database\r
+ IpStringId string with it.\r
+\r
+ @param[in] Ip Points to identity policy.\r
+ @param[in] IpLen The identity policy length.\r
+ @param[in] IpStringId String ID in the HII database to be replaced.\r
+\r
+**/\r
+VOID\r
+ResolveIdentityPolicy (\r
+ IN UINT8 *Ip,\r
+ IN UINTN IpLen,\r
+ IN EFI_STRING_ID IpStringId\r
+ );\r
+\r
+/**\r
+ Expand access policy memory size.\r
+\r
+ @param[in] ValidLen The valid access policy length.\r
+ @param[in] ExpandLen The length that is needed to expand.\r
+ \r
+**/\r
+VOID\r
+ExpandMemory (\r
+ IN UINTN ValidLen,\r
+ IN UINTN ExpandLen\r
+ );\r
+\r
+/**\r
+ Delete User's credental from all the providers that exist in User's identity policy.\r
+ \r
+ @param[in] IdentityPolicy Point to User's identity policy.\r
+ @param[in] IdentityPolicyLen The length of the identity policy.\r
+ @param[in] User Points to user profile.\r
+\r
+**/\r
+VOID\r
+DeleteCredentialFromProviders (\r
+ IN UINT8 *IdentityPolicy,\r
+ IN UINTN IdentityPolicyLen,\r
+ IN EFI_USER_PROFILE_HANDLE User \r
+ );\r
\r
#endif\r