Index: chromeos/tpm_token_info_getter.h |
diff --git a/chromeos/tpm_token_info_getter.h b/chromeos/tpm_token_info_getter.h |
deleted file mode 100644 |
index 93fee11d8fead39f0e12796b2d8136e22cfcf270..0000000000000000000000000000000000000000 |
--- a/chromeos/tpm_token_info_getter.h |
+++ /dev/null |
@@ -1,127 +0,0 @@ |
-// Copyright 2014 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#ifndef CHROMEOS_TPM_TOKEN_INFO_GETTER_H_ |
-#define CHROMEOS_TPM_TOKEN_INFO_GETTER_H_ |
- |
-#include <string> |
- |
-#include "base/callback.h" |
-#include "base/memory/ref_counted.h" |
-#include "base/memory/weak_ptr.h" |
-#include "base/time/time.h" |
-#include "chromeos/chromeos_export.h" |
-#include "chromeos/dbus/dbus_method_call_status.h" |
- |
-namespace base { |
-class TaskRunner; |
-} |
- |
-namespace chromeos { |
-class CryptohomeClient; |
-} |
- |
-namespace chromeos { |
- |
-// Information retrieved from cryptohome by TPMTokenInfoGetter. |
-// For invalid token |token_name| and |user_pin| will be empty, while |
-// |token_slot_id| will be set to -1. |
-struct TPMTokenInfo { |
- // Default constructor creates token info for disabled TPM. |
- TPMTokenInfo(); |
- ~TPMTokenInfo(); |
- |
- bool tpm_is_enabled; |
- std::string token_name; |
- std::string user_pin; |
- int token_slot_id; |
-}; |
- |
-// Class for getting a user or the system TPM token info from cryptohome during |
-// TPM token loading. |
-class CHROMEOS_EXPORT TPMTokenInfoGetter { |
- public: |
- using TPMTokenInfoCallback = base::Callback<void(const TPMTokenInfo& info)>; |
- |
- // Factory method for TPMTokenInfoGetter for a user token. |
- static scoped_ptr<TPMTokenInfoGetter> CreateForUserToken( |
- const std::string& user_id, |
- CryptohomeClient* cryptohome_client, |
- const scoped_refptr<base::TaskRunner>& delayed_task_runner); |
- |
- // Factory method for TPMTokenGetter for the system token. |
- static scoped_ptr<TPMTokenInfoGetter> CreateForSystemToken( |
- CryptohomeClient* cryptohome_client, |
- const scoped_refptr<base::TaskRunner>& delayed_task_runner); |
- |
- ~TPMTokenInfoGetter(); |
- |
- // Starts getting TPM token info. Should be called at most once. |
- // |callback| will be called when all the info is fetched. |
- // The object may get deleted before |callback| is called, which is equivalent |
- // to cancelling the info getting (in which case |callback| will never get |
- // called). |
- void Start(const TPMTokenInfoCallback& callback); |
- |
- private: |
- enum Type { |
- TYPE_SYSTEM, |
- TYPE_USER |
- }; |
- |
- enum State { |
- STATE_INITIAL, |
- STATE_STARTED, |
- STATE_TPM_ENABLED, |
- STATE_DONE |
- }; |
- |
- TPMTokenInfoGetter( |
- Type type, |
- const std::string& user_id, |
- CryptohomeClient* cryptohome_client, |
- const scoped_refptr<base::TaskRunner>& delayed_task_runner); |
- |
- // Continues TPM token info getting procedure by starting the task associated |
- // with the current TPMTokenInfoGetter state. |
- void Continue(); |
- |
- // If token initialization step fails (e.g. if tpm token is not yet ready) |
- // schedules the initialization step retry attempt after a timeout. |
- void RetryLater(); |
- |
- // Cryptohome methods callbacks. |
- void OnTpmIsEnabled(DBusMethodCallStatus call_status, |
- bool tpm_is_enabled); |
- void OnPkcs11GetTpmTokenInfo(DBusMethodCallStatus call_status, |
- const std::string& token_name, |
- const std::string& user_pin, |
- int token_slot_id); |
- |
- // The task runner used to run delayed tasks when retrying failed Cryptohome |
- // calls. |
- scoped_refptr<base::TaskRunner> delayed_task_runner_; |
- |
- Type type_; |
- State state_; |
- |
- // The user id associated with the TPMTokenInfoGetter. Empty for system token. |
- std::string user_id_; |
- |
- TPMTokenInfoCallback callback_; |
- |
- // The current request delay before the next attempt to initialize the |
- // TPM. Will be adapted after each attempt. |
- base::TimeDelta tpm_request_delay_; |
- |
- CryptohomeClient* cryptohome_client_; |
- |
- base::WeakPtrFactory<TPMTokenInfoGetter> weak_factory_; |
- |
- DISALLOW_COPY_AND_ASSIGN(TPMTokenInfoGetter); |
-}; |
- |
-} // namespace chromeos |
- |
-#endif // CHROMEOS_TPM_TOKEN_INFO_GETTER_H_ |