Index: chrome/browser/chromeos/policy/enterprise_install_attributes.h |
diff --git a/chrome/browser/chromeos/policy/enterprise_install_attributes.h b/chrome/browser/chromeos/policy/enterprise_install_attributes.h |
index bb9a681c721e037fa0a6f657d8de611f46748e2a..ce17418b23f6ba01f440aa43e80ae6930f0d7315 100644 |
--- a/chrome/browser/chromeos/policy/enterprise_install_attributes.h |
+++ b/chrome/browser/chromeos/policy/enterprise_install_attributes.h |
@@ -25,6 +25,13 @@ namespace policy { |
// TODO(zelidrag, mnissler): Rename + move this class - http://crbug.com/249513. |
class EnterpriseInstallAttributes { |
public: |
+ enum LockState { |
+ STATE_UNKNOWN = 0, // A valid lock can't be confirmed. |
+ STATE_NOT_LOCKED = 1, |
+ STATE_LOCKING = 2, // Lock attempt in process. |
+ STATE_LOCKED = 3, // Valid lock confirmed by attribute read. |
+ }; |
+ |
// EnterpriseInstallAttributes status codes. Do not change the numeric ids or |
// the meaning of the existing codes to preserve the interpretability of old |
// logfiles. |
@@ -52,10 +59,10 @@ class EnterpriseInstallAttributes { |
chromeos::CryptohomeClient* cryptohome_client); |
~EnterpriseInstallAttributes(); |
- // Reads data from the cache file which is created early during the boot |
- // process. The cache file is used to work around slow cryptohome startup, |
- // which takes a while to register its DBus interface. See |
- // http://crosbug.com/37367 for background on this. |
+ // Tries to read install attributes from the cache file which is created early |
+ // during the boot process to work around slow cryptohome startup, which takes |
Mattias Nissler (ping if slow)
2015/06/19 07:32:45
nit: Your edit makes this sentence ambiguous. Now
Thiemo Nagel
2015/06/19 17:47:04
Done.
|
+ // a while to register its DBus interface. (See http://crosbug.com/37367 for |
+ // background on this.) May only be called once for initialization. |
void ReadCacheFile(const base::FilePath& cache_file); |
// Makes sure the local caches for enterprise-related install attributes are |
@@ -96,8 +103,10 @@ class EnterpriseInstallAttributes { |
// are not locked yet will be DEVICE_MODE_UNKNOWN. |
DeviceMode GetMode(); |
+ void CheckConsistency(); |
+ |
protected: |
- bool device_locked_; |
+ LockState lock_state_; |
std::string registration_user_; |
std::string registration_domain_; |
std::string registration_device_id_; |
@@ -158,6 +167,10 @@ class EnterpriseInstallAttributes { |
void OnReadImmutableAttributes(const std::string& user, |
const LockResultCallback& callback); |
+ void CheckConsistencyAgainstTpmOwnershipState( |
+ chromeos::DBusMethodCallStatus call_status, |
+ bool result); |
+ |
chromeos::CryptohomeClient* cryptohome_client_; |
base::WeakPtrFactory<EnterpriseInstallAttributes> weak_ptr_factory_; |