crypto_module_password_dialog.h revision 5d1f7b1de12d16ceb2c938c56701a3e8bfa558f7
15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef CHROME_BROWSER_UI_CRYPTO_MODULE_PASSWORD_DIALOG_H_ 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define CHROME_BROWSER_UI_CRYPTO_MODULE_PASSWORD_DIALOG_H_ 72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <string> 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "base/callback.h" 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ui/gfx/native_widget_types.h" 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace chrome { 142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// An enum to describe the reason for the password request. 162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)enum CryptoModulePasswordReason { 172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) kCryptoModulePasswordKeygen, 182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) kCryptoModulePasswordCertEnrollment, 192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) kCryptoModulePasswordClientAuth, 202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) kCryptoModulePasswordListCerts, 212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) kCryptoModulePasswordCertImport, 222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) kCryptoModulePasswordCertExport, 232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}; 242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)typedef base::Callback<void(const std::string&)> CryptoModulePasswordCallback; 262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Display a dialog, prompting the user to authenticate to unlock 282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// |module|. |reason| describes the purpose of the authentication and 29c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// affects the message displayed in the dialog. |hostname| is the hostname 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// of the server which requested the access. 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void ShowCryptoModulePasswordDialog( 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const std::string& module_name, 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) bool retry, 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) CryptoModulePasswordReason reason, 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const std::string& hostname, 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) gfx::NativeWindow parent, 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const CryptoModulePasswordCallback& callback); 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace chrome 40c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 41c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#endif // CHROME_BROWSER_UI_CRYPTO_MODULE_PASSWORD_DIALOG_H_ 42c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)