Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6290)

Unified Diff: chrome/browser/policy/async_policy_provider.h

Issue 92263002: Move AsyncPolicyProvider, etc. to components/policy/. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/policy/async_policy_loader.cc ('k') | chrome/browser/policy/async_policy_provider.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/policy/async_policy_provider.h
diff --git a/chrome/browser/policy/async_policy_provider.h b/chrome/browser/policy/async_policy_provider.h
deleted file mode 100644
index 278fc59464b8ddfb81022f740b3010f1cac7f6ba..0000000000000000000000000000000000000000
--- a/chrome/browser/policy/async_policy_provider.h
+++ /dev/null
@@ -1,75 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CHROME_BROWSER_POLICY_ASYNC_POLICY_PROVIDER_H_
-#define CHROME_BROWSER_POLICY_ASYNC_POLICY_PROVIDER_H_
-
-#include "base/cancelable_callback.h"
-#include "base/memory/ref_counted.h"
-#include "base/memory/scoped_ptr.h"
-#include "base/memory/weak_ptr.h"
-#include "base/threading/non_thread_safe.h"
-#include "components/policy/core/common/configuration_policy_provider.h"
-
-namespace base {
-class MessageLoopProxy;
-}
-
-namespace policy {
-
-class AsyncPolicyLoader;
-class PolicyBundle;
-class SchemaRegistry;
-
-// A policy provider that loads its policies asynchronously on a background
-// thread. Platform-specific providers are created by passing an implementation
-// of AsyncPolicyLoader to a new AsyncPolicyProvider.
-class AsyncPolicyProvider : public ConfigurationPolicyProvider,
- public base::NonThreadSafe {
- public:
- // The AsyncPolicyProvider does a synchronous load in its constructor, and
- // therefore it needs the |registry| at construction time. The same |registry|
- // should be passed later to Init().
- AsyncPolicyProvider(SchemaRegistry* registry,
- scoped_ptr<AsyncPolicyLoader> loader);
- virtual ~AsyncPolicyProvider();
-
- // ConfigurationPolicyProvider implementation.
- virtual void Init(SchemaRegistry* registry) OVERRIDE;
- virtual void Shutdown() OVERRIDE;
- virtual void RefreshPolicies() OVERRIDE;
-
- private:
- // Helper for RefreshPolicies().
- void ReloadAfterRefreshSync();
-
- // Invoked with the latest bundle loaded by the |loader_|.
- void OnLoaderReloaded(scoped_ptr<PolicyBundle> bundle);
-
- // Callback passed to the loader that it uses to pass back the current policy
- // bundle to the provider. This is invoked on the background thread and
- // forwards to OnLoaderReloaded() on the loop that owns the provider,
- // if |weak_this| is still valid.
- static void LoaderUpdateCallback(scoped_refptr<base::MessageLoopProxy> loop,
- base::WeakPtr<AsyncPolicyProvider> weak_this,
- scoped_ptr<PolicyBundle> bundle);
-
- // The |loader_| that does the platform-specific policy loading. It lives
- // on the background thread but is owned by |this|.
- AsyncPolicyLoader* loader_;
-
- // Used to get a WeakPtr to |this| for the update callback given to the
- // loader.
- base::WeakPtrFactory<AsyncPolicyProvider> weak_factory_;
-
- // Callback used to synchronize RefreshPolicies() calls with the background
- // thread. See the implementation for the details.
- base::CancelableClosure refresh_callback_;
-
- DISALLOW_COPY_AND_ASSIGN(AsyncPolicyProvider);
-};
-
-} // namespace policy
-
-#endif // CHROME_BROWSER_POLICY_ASYNC_POLICY_PROVIDER_H_
« no previous file with comments | « chrome/browser/policy/async_policy_loader.cc ('k') | chrome/browser/policy/async_policy_provider.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698