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

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

Issue 10693022: Add support for loading user cloud policy on desktop. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Tweaked some comments after self-review. Created 8 years, 5 months 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
Index: chrome/browser/policy/user_policy_signin_service_factory.h
diff --git a/chrome/browser/policy/user_policy_signin_service_factory.h b/chrome/browser/policy/user_policy_signin_service_factory.h
new file mode 100644
index 0000000000000000000000000000000000000000..5b60b32a8781fa022a3d854fbcd36f7ab30120e7
--- /dev/null
+++ b/chrome/browser/policy/user_policy_signin_service_factory.h
@@ -0,0 +1,48 @@
+// 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_USER_POLICY_SIGNIN_SERVICE_FACTORY_H_
+#define CHROME_BROWSER_POLICY_USER_POLICY_SIGNIN_SERVICE_FACTORY_H_
+
+#include "base/memory/singleton.h"
+#include "chrome/browser/profiles/profile_keyed_service_factory.h"
+
+namespace policy {
+
+class UserPolicySigninService;
+
+// Singleton that owns all UserPolicySigninServices and creates/deletes them as
+// new Profiles are created/shutdown.
+class UserPolicySigninServiceFactory : public ProfileKeyedServiceFactory {
+ public:
+ // Returns an instance of the UserPolicySigninServiceFactory singleton.
+ static UserPolicySigninServiceFactory* GetInstance();
+
+ // Returns the instance of UserPolicySigninService for the passed |profile|.
+ // Used primarily for testing.
+ static UserPolicySigninService* GetForProfile(Profile* profile);
+
+ protected:
+ // ProfileKeyedServiceFactory implementation.
+ virtual ProfileKeyedService* BuildServiceInstanceFor(
+ Profile* profile) const OVERRIDE;
+
+ // Overridden to cause this object to be created when the profile is created.
+ virtual bool ServiceIsCreatedWithProfile() OVERRIDE;
+
+ // Register the preferences related to cloud-based user policy.
+ virtual void RegisterUserPrefs(PrefService* user_prefs) OVERRIDE;
+
+ private:
+ friend struct DefaultSingletonTraits<UserPolicySigninServiceFactory>;
+
+ UserPolicySigninServiceFactory();
+ virtual ~UserPolicySigninServiceFactory();
+
+ DISALLOW_COPY_AND_ASSIGN(UserPolicySigninServiceFactory);
+};
+
+} // namespace policy
+
+#endif // CHROME_BROWSER_POLICY_USER_POLICY_SIGNIN_SERVICE_FACTORY_H_

Powered by Google App Engine
This is Rietveld 408576698