| OLD | NEW | 
|---|
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #ifndef BASE_NSS_SLOT_UTIL_H_ | 5 #ifndef BASE_NSS_SLOT_UTIL_H_ | 
| 6 #define BASE_NSS_SLOT_UTIL_H_ | 6 #define BASE_NSS_SLOT_UTIL_H_ | 
| 7 #pragma once | 7 #pragma once | 
| 8 | 8 | 
| 9 #include <secmodt.h> | 9 #include <secmodt.h> | 
| 10 | 10 | 
| 11 // These functions return a type defined in an NSS header, and so cannot be | 11 // These functions return a type defined in an NSS header, and so cannot be | 
| 12 // declared in nss_util.h.  Hence, they are declared here. | 12 // declared in nss_util.h.  Hence, they are declared here. | 
| 13 | 13 | 
| 14 namespace base { | 14 namespace base { | 
| 15 | 15 | 
| 16 // Returns a reference to the default NSS key slot. Caller must release | 16 // Returns a reference to the default NSS key slot. Caller must release | 
| 17 // reference with PK11_FreeSlot. | 17 // reference with PK11_FreeSlot. | 
| 18 PK11SlotInfo* GetDefaultNSSKeySlot(); | 18 PK11SlotInfo* GetDefaultNSSKeySlot(); | 
| 19 | 19 | 
|  | 20 // PK11_SetPasswordFunc is a global setting. To avoid a dependency on | 
|  | 21 // network code, we instead pass a PK11BlockingPasswordDelegate in the | 
|  | 22 // user data argument and set a global password hook to call it | 
|  | 23 // instead. | 
|  | 24 class PK11BlockingPasswordDelegate { | 
|  | 25  public: | 
|  | 26   virtual ~PK11BlockingPasswordDelegate() {} | 
|  | 27 | 
|  | 28   // Requests a password to unlock |slot|. The interface is | 
|  | 29   // synchronous because NSS cannot issue an asynchronous | 
|  | 30   // request. |retry| is PR_TRUE if this is a request for the retry | 
|  | 31   // and we previously returned the wrong password. | 
|  | 32   // | 
|  | 33   // Result will be zeroed and freed after use. If not NULL, must have | 
|  | 34   // been allocated with PR_Malloc or PL_strdup. | 
|  | 35   virtual char* RequestPassword(PK11SlotInfo* slot, PRBool retry) = 0; | 
|  | 36 }; | 
|  | 37 | 
| 20 }  // namespace base | 38 }  // namespace base | 
| 21 | 39 | 
| 22 #endif  // BASE_NSS_UTIL_H_ | 40 #endif  // BASE_NSS_UTIL_H_ | 
| OLD | NEW | 
|---|