Chromium Code Reviews| Index: chrome/browser/chromeos/policy/device_local_account_policy_provider.h |
| diff --git a/chrome/browser/chromeos/policy/device_local_account_policy_provider.h b/chrome/browser/chromeos/policy/device_local_account_policy_provider.h |
| index fa398154c1ec1a5234d15acda8d7d6e759707895..079f931493c6ec8ad48c0717edf6a416cbb75bed 100644 |
| --- a/chrome/browser/chromeos/policy/device_local_account_policy_provider.h |
| +++ b/chrome/browser/chromeos/policy/device_local_account_policy_provider.h |
| @@ -14,6 +14,8 @@ |
| #include "base/memory/weak_ptr.h" |
| #include "chrome/browser/chromeos/policy/device_local_account_external_data_manager.h" |
| #include "chrome/browser/chromeos/policy/device_local_account_policy_service.h" |
| +#include "components/policy/core/common/cloud/component_cloud_policy_service.h" |
| +#include "components/policy/core/common/cloud/resource_cache.h" |
|
bartfab (slow)
2014/06/20 09:17:25
Nit: Move this to the implementation file. It is n
Joao da Silva
2014/06/20 11:48:45
Obsolete in the next CL.
|
| #include "components/policy/core/common/configuration_policy_provider.h" |
| namespace policy { |
| @@ -27,7 +29,8 @@ class PolicyMap; |
| // and RefreshPolicies becomes a no-op. |
|
bartfab (slow)
2014/06/20 09:17:25
Document what happens to component policy in that
Joao da Silva
2014/06/20 11:48:45
Done.
|
| class DeviceLocalAccountPolicyProvider |
| : public ConfigurationPolicyProvider, |
| - public DeviceLocalAccountPolicyService::Observer { |
| + public DeviceLocalAccountPolicyService::Observer, |
| + public ComponentCloudPolicyService::Delegate { |
| public: |
| DeviceLocalAccountPolicyProvider( |
| const std::string& user_id, |
| @@ -43,12 +46,19 @@ class DeviceLocalAccountPolicyProvider |
| DeviceLocalAccountPolicyService* service); |
| // ConfigurationPolicyProvider: |
| + virtual void Init(SchemaRegistry* registry) OVERRIDE; |
| virtual bool IsInitializationComplete(PolicyDomain domain) const OVERRIDE; |
| virtual void RefreshPolicies() OVERRIDE; |
| + virtual void Shutdown() OVERRIDE; |
| // DeviceLocalAccountPolicyService::Observer: |
| virtual void OnPolicyUpdated(const std::string& user_id) OVERRIDE; |
| virtual void OnDeviceLocalAccountsChanged() OVERRIDE; |
| + virtual void OnBrokerShutdown( |
| + DeviceLocalAccountPolicyBroker* broker) OVERRIDE; |
| + |
| + // ComponentCloudPolicyService::Delegate: |
| + virtual void OnComponentCloudPolicyUpdated() OVERRIDE; |
| private: |
| // Returns the broker for |user_id_| or NULL if not available. |
| @@ -62,6 +72,10 @@ class DeviceLocalAccountPolicyProvider |
| // policy from the broker if available or keeping the current policy. |
| void UpdateFromBroker(); |
| + // Creates the |component_policy_service_| if it hasn't been created yet |
| + // and all the dependencies are in place. |
| + void MaybeCreateComponentPolicyService(); |
| + |
| const std::string user_id_; |
| scoped_refptr<DeviceLocalAccountExternalDataManager> external_data_manager_; |
| @@ -75,6 +89,8 @@ class DeviceLocalAccountPolicyProvider |
| bool store_initialized_; |
| bool waiting_for_policy_refresh_; |
| + scoped_ptr<ComponentCloudPolicyService> component_policy_service_; |
| + |
| base::WeakPtrFactory<DeviceLocalAccountPolicyProvider> weak_factory_; |
| DISALLOW_COPY_AND_ASSIGN(DeviceLocalAccountPolicyProvider); |