Chromium Code Reviews| Index: chrome/browser/policy/asynchronous_policy_provider.h |
| diff --git a/chrome/browser/policy/asynchronous_policy_provider.h b/chrome/browser/policy/asynchronous_policy_provider.h |
| index b0dbed3ac3876545c5679b17150f01543fca4638..59c41f86cd70d23ba6a6b785af1021e2eb870130 100644 |
| --- a/chrome/browser/policy/asynchronous_policy_provider.h |
| +++ b/chrome/browser/policy/asynchronous_policy_provider.h |
| @@ -7,6 +7,7 @@ |
| #pragma once |
| #include "base/memory/ref_counted.h" |
| +#include "base/memory/weak_ptr.h" |
| #include "base/threading/non_thread_safe.h" |
| #include "chrome/browser/policy/configuration_policy_provider.h" |
| @@ -37,17 +38,31 @@ class AsynchronousPolicyProvider |
| scoped_refptr<AsynchronousPolicyLoader> loader); |
| virtual ~AsynchronousPolicyProvider(); |
| - // Force a policy reload from the underlying data source. |
| - void ForceReload(); |
| - |
| - protected: |
| // ConfigurationPolicyProvider implementation. |
| virtual bool ProvideInternal(PolicyMap* map) OVERRIDE; |
| + virtual void RefreshPolicies() OVERRIDE; |
| + |
| + private: |
| + // Used to trigger a Reload on |loader| on the FILE thread. |
| + static void PostReloadOnFILE(scoped_refptr<AsynchronousPolicyLoader> loader); |
|
Mattias Nissler (ping if slow)
2011/11/18 14:49:32
In these cases we usually s/FILE/FileThread/:
$ g
Mattias Nissler (ping if slow)
2011/11/18 14:49:32
Pass loader as plain pointer and base::Bind will t
Joao da Silva
2011/11/18 15:39:18
Done.
Joao da Silva
2011/11/18 15:39:18
Done.
|
| + |
| + // Used to notify UI that a reload task has been submitted. |
| + void OnReloadPosted(); |
| + |
| + // Callback from the loader. This is invoked whenever the loader has completed |
| + // a reload of the policies. |
| + void OnLoaderReloaded(); |
| // The loader object used internally. |
| scoped_refptr<AsynchronousPolicyLoader> loader_; |
| - private: |
| + // Number of refreshes requested whose reload is still pending. Used to only |
| + // fire notifications when all pending refreshes are done. |
| + int pending_refreshes_; |
| + |
| + // Used to post tasks to self on UI. |
| + base::WeakPtrFactory<AsynchronousPolicyProvider> weak_ptr_factory_; |
| + |
| DISALLOW_COPY_AND_ASSIGN(AsynchronousPolicyProvider); |
| }; |