Chromium Code Reviews| Index: chrome/browser/policy/cloud/cloud_policy_manager.h |
| diff --git a/chrome/browser/policy/cloud/cloud_policy_manager.h b/chrome/browser/policy/cloud/cloud_policy_manager.h |
| index 8f3c9ff2e855262a5502a8c9c07474ffae234b4f..c6372d355b2f18ffefac1a2d6593bb3af105a5c2 100644 |
| --- a/chrome/browser/policy/cloud/cloud_policy_manager.h |
| +++ b/chrome/browser/policy/cloud/cloud_policy_manager.h |
| @@ -14,12 +14,18 @@ |
| #include "chrome/browser/policy/cloud/cloud_policy_constants.h" |
| #include "chrome/browser/policy/cloud/cloud_policy_core.h" |
| #include "chrome/browser/policy/cloud/cloud_policy_store.h" |
| +#include "chrome/browser/policy/cloud/component_cloud_policy_service.h" |
| #include "chrome/browser/policy/configuration_policy_provider.h" |
| namespace base { |
| +class FilePath; |
| class SequencedTaskRunner; |
| } |
| +namespace net { |
| +class URLRequestContextGetter; |
| +} |
| + |
| namespace policy { |
| class PolicyBundle; |
|
bartfab (slow)
2013/11/25 15:05:50
Nit: No longer used.
Joao da Silva
2013/11/25 16:44:11
Done.
|
| @@ -32,13 +38,19 @@ class PolicyBundle; |
| // functionality specific to user-level and device-level cloud policy, such as |
| // blocking on initial user policy fetch or device enrollment. |
| class CloudPolicyManager : public ConfigurationPolicyProvider, |
| - public CloudPolicyStore::Observer { |
| + public CloudPolicyStore::Observer, |
| + public ComponentCloudPolicyService::Delegate { |
| public: |
| // |task_runner| is the runner for policy refresh tasks. |
| + // |file_task_runner| is used for file operations. |
| + // |io_task_runner| is used for network IO. |
| + // Note: currently these must be the FILE and the IO BrowserThreads. |
|
bartfab (slow)
2013/11/25 15:05:50
Nit: "these" is ambiguous (there are three task ru
Joao da Silva
2013/11/25 16:44:11
Done.
|
| CloudPolicyManager( |
| const PolicyNamespaceKey& policy_ns_key, |
| CloudPolicyStore* cloud_policy_store, |
| - const scoped_refptr<base::SequencedTaskRunner>& task_runner); |
| + const scoped_refptr<base::SequencedTaskRunner>& task_runner, |
| + const scoped_refptr<base::SequencedTaskRunner>& file_task_runner, |
| + const scoped_refptr<base::SequencedTaskRunner>& io_task_runner); |
| virtual ~CloudPolicyManager(); |
| CloudPolicyCore* core() { return &core_; } |
| @@ -53,14 +65,17 @@ class CloudPolicyManager : public ConfigurationPolicyProvider, |
| virtual void OnStoreLoaded(CloudPolicyStore* cloud_policy_store) OVERRIDE; |
| virtual void OnStoreError(CloudPolicyStore* cloud_policy_store) OVERRIDE; |
| + // ComponentCloudPolicyService::Delegate: |
| + virtual void OnComponentCloudPolicyUpdated() OVERRIDE; |
| + |
| protected: |
| // Check whether fully initialized and if so, publish policy by calling |
| // ConfigurationPolicyStore::UpdatePolicy(). |
| void CheckAndPublishPolicy(); |
| - // Called by CheckAndPublishPolicy() to create a bundle with the current |
| - // policies. |
| - virtual scoped_ptr<PolicyBundle> CreatePolicyBundle(); |
| + void CreateComponentCloudPolicyService( |
| + const base::FilePath& policy_cache_path, |
| + const scoped_refptr<net::URLRequestContextGetter>& request_context); |
| // Convenience accessors to core() components. |
| CloudPolicyClient* client() { return core_.client(); } |
| @@ -69,17 +84,24 @@ class CloudPolicyManager : public ConfigurationPolicyProvider, |
| const CloudPolicyStore* store() const { return core_.store(); } |
| CloudPolicyService* service() { return core_.service(); } |
| const CloudPolicyService* service() const { return core_.service(); } |
| + ComponentCloudPolicyService* component_policy_service() const { |
| + return component_policy_service_.get(); |
| + } |
| private: |
| // Completion handler for policy refresh operations. |
| void OnRefreshComplete(bool success); |
| CloudPolicyCore core_; |
| + scoped_ptr<ComponentCloudPolicyService> component_policy_service_; |
| // Whether there's a policy refresh operation pending, in which case all |
| // policy update notifications are deferred until after it completes. |
| bool waiting_for_policy_refresh_; |
| + scoped_refptr<base::SequencedTaskRunner> file_task_runner_; |
| + scoped_refptr<base::SequencedTaskRunner> io_task_runner_; |
| + |
| DISALLOW_COPY_AND_ASSIGN(CloudPolicyManager); |
| }; |