Index: chrome/browser/policy/user_cloud_policy_store_chromeos.h |
diff --git a/chrome/browser/policy/user_cloud_policy_store_chromeos.h b/chrome/browser/policy/user_cloud_policy_store_chromeos.h |
index 0473a423b484c26bafb60c6cd3f80d4dd688e9e3..7bfb70f25c297ba77b5cbf6d54b2b11a1b576564 100644 |
--- a/chrome/browser/policy/user_cloud_policy_store_chromeos.h |
+++ b/chrome/browser/policy/user_cloud_policy_store_chromeos.h |
@@ -14,14 +14,17 @@ |
#include "base/memory/weak_ptr.h" |
#include "chrome/browser/policy/cloud_policy_validator.h" |
#include "chrome/browser/policy/user_cloud_policy_store_base.h" |
+#include "chromeos/dbus/dbus_method_call_status.h" |
namespace chromeos { |
+class CryptohomeClient; |
class SessionManagerClient; |
} |
namespace policy { |
class LegacyPolicyCacheLoader; |
+class UserPolicyKey; |
// Implements a cloud policy store backed by the Chrome OS' session_manager, |
// which takes care of persisting policy to disk and is accessed via DBus calls |
@@ -33,8 +36,10 @@ class LegacyPolicyCacheLoader; |
class UserCloudPolicyStoreChromeOS : public UserCloudPolicyStoreBase { |
public: |
UserCloudPolicyStoreChromeOS( |
+ chromeos::CryptohomeClient* cryptohome_client, |
chromeos::SessionManagerClient* session_manager_client, |
const std::string& username, |
+ const FilePath& user_policy_key_dir, |
const FilePath& legacy_token_cache_file, |
const FilePath& legacy_policy_cache_file); |
virtual ~UserCloudPolicyStoreChromeOS(); |
@@ -45,24 +50,27 @@ class UserCloudPolicyStoreChromeOS : public UserCloudPolicyStoreBase { |
virtual void Load() OVERRIDE; |
private: |
- // Called back from SessionManagerClient for policy load operations. |
- void OnPolicyRetrieved(const std::string& policy_blob); |
- |
- // Completion handler for policy validation on the Load() path. Installs the |
- // policy and publishes it if validation succeeded. |
- void OnRetrievedPolicyValidated(UserCloudPolicyValidator* validator); |
+ // Starts validation of |policy| before storing it. |
+ void ValidatePolicyForStore( |
+ scoped_ptr<enterprise_management::PolicyFetchResponse> policy); |
- // Completion handler for policy validation on the Load() path. Starts a store |
- // operation if the validation succeeded. |
+ // Completion handler for policy validation on the Store() path. |
+ // Starts a store operation if the validation succeeded. |
void OnPolicyToStoreValidated(UserCloudPolicyValidator* validator); |
// Called back from SessionManagerClient for policy store operations. |
void OnPolicyStored(bool); |
- // Starts policy blob validation. |
- void Validate( |
- scoped_ptr<enterprise_management::PolicyFetchResponse> policy, |
- const UserCloudPolicyValidator::CompletionCallback& callback); |
+ // Called back from SessionManagerClient for policy load operations. |
+ void OnPolicyRetrieved(const std::string& policy_blob); |
+ |
+ // Starts validation of the loaded |policy| before installing it. |
+ void ValidateRetrievedPolicy( |
+ scoped_ptr<enterprise_management::PolicyFetchResponse> policy); |
+ |
+ // Completion handler for policy validation on the Load() path. Installs the |
+ // policy and publishes it if validation succeeded. |
+ void OnRetrievedPolicyValidated(UserCloudPolicyValidator* validator); |
// Callback for loading legacy caches. |
void OnLegacyLoadFinished( |
@@ -83,8 +91,17 @@ class UserCloudPolicyStoreChromeOS : public UserCloudPolicyStoreBase { |
// Removes the passed-in legacy cache directory. |
static void RemoveLegacyCacheDir(const FilePath& dir); |
+ void EnsurePolicyKeyLoaded(const base::Closure& callback); |
Mattias Nissler (ping if slow)
2013/02/07 14:12:07
document.
Joao da Silva
2013/02/07 16:32:00
Done.
|
+ |
+ // Callback for getting the sanitized username from |cryptohome_client_|. |
+ void OnGetSanitizedUsername(const base::Closure& callback, |
+ chromeos::DBusMethodCallStatus call_status, |
+ const std::string& sanitized_username); |
+ |
+ chromeos::CryptohomeClient* cryptohome_client_; |
chromeos::SessionManagerClient* session_manager_client_; |
const std::string username_; |
+ FilePath user_policy_key_dir_; |
base::WeakPtrFactory<UserCloudPolicyStoreChromeOS> weak_factory_; |
@@ -94,6 +111,8 @@ class UserCloudPolicyStoreChromeOS : public UserCloudPolicyStoreBase { |
scoped_ptr<LegacyPolicyCacheLoader> legacy_loader_; |
bool legacy_caches_loaded_; |
+ scoped_ptr<UserPolicyKey> policy_key_; |
+ |
DISALLOW_COPY_AND_ASSIGN(UserCloudPolicyStoreChromeOS); |
}; |