| Index: chrome/browser/chromeos/login/users/chrome_user_manager_impl.h
|
| diff --git a/chrome/browser/chromeos/login/users/chrome_user_manager.h b/chrome/browser/chromeos/login/users/chrome_user_manager_impl.h
|
| similarity index 90%
|
| copy from chrome/browser/chromeos/login/users/chrome_user_manager.h
|
| copy to chrome/browser/chromeos/login/users/chrome_user_manager_impl.h
|
| index 84dd7d96288d89eb6848e1069e017f605b8df22a..9ba3c20df6c0c3dd244abc242ff9c31c1b1c4b6a 100644
|
| --- a/chrome/browser/chromeos/login/users/chrome_user_manager.h
|
| +++ b/chrome/browser/chromeos/login/users/chrome_user_manager_impl.h
|
| @@ -2,8 +2,8 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -#ifndef CHROME_BROWSER_CHROMEOS_LOGIN_USERS_CHROME_USER_MANAGER_H_
|
| -#define CHROME_BROWSER_CHROMEOS_LOGIN_USERS_CHROME_USER_MANAGER_H_
|
| +#ifndef CHROME_BROWSER_CHROMEOS_LOGIN_USERS_CHROME_USER_MANAGER_IMPL_H_
|
| +#define CHROME_BROWSER_CHROMEOS_LOGIN_USERS_CHROME_USER_MANAGER_IMPL_H_
|
|
|
| #include <map>
|
| #include <string>
|
| @@ -17,9 +17,10 @@
|
| #include "base/observer_list.h"
|
| #include "base/synchronization/lock.h"
|
| #include "base/time/time.h"
|
| +#include "chrome/browser/chromeos/login/user_flow.h"
|
| #include "chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.h"
|
| +#include "chrome/browser/chromeos/login/users/chrome_user_manager.h"
|
| #include "chrome/browser/chromeos/login/users/multi_profile_user_controller_delegate.h"
|
| -#include "chrome/browser/chromeos/login/users/user_manager_base.h"
|
| #include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h"
|
| #include "chrome/browser/chromeos/policy/cloud_external_data_policy_observer.h"
|
| #include "chrome/browser/chromeos/policy/device_local_account_policy_service.h"
|
| @@ -29,6 +30,7 @@
|
| #include "content/public/browser/notification_observer.h"
|
| #include "content/public/browser/notification_registrar.h"
|
|
|
| +class PrefRegistrySimple;
|
| class PrefService;
|
| class ProfileSyncService;
|
|
|
| @@ -36,29 +38,44 @@ namespace policy {
|
| struct DeviceLocalAccount;
|
| }
|
|
|
| +namespace user_manager {
|
| +class RemoveUserDelegate;
|
| +}
|
| +
|
| namespace chromeos {
|
|
|
| class MultiProfileUserController;
|
| -class RemoveUserDelegate;
|
| class SupervisedUserManagerImpl;
|
| class SessionLengthLimiter;
|
|
|
| // Chrome specific implementation of the UserManager.
|
| -class ChromeUserManager
|
| - : public UserManagerBase,
|
| +class ChromeUserManagerImpl
|
| + : public ChromeUserManager,
|
| public content::NotificationObserver,
|
| public policy::CloudExternalDataPolicyObserver::Delegate,
|
| public policy::DeviceLocalAccountPolicyService::Observer,
|
| public MultiProfileUserControllerDelegate {
|
| public:
|
| - virtual ~ChromeUserManager();
|
| + virtual ~ChromeUserManagerImpl();
|
|
|
| - // UserManager implementation:
|
| - virtual void Shutdown() OVERRIDE;
|
| + // Creates ChromeUserManagerImpl instance.
|
| + static scoped_ptr<ChromeUserManager> CreateChromeUserManager();
|
| +
|
| + // Registers user manager preferences.
|
| + static void RegisterPrefs(PrefRegistrySimple* registry);
|
| +
|
| + // ChromeUserManager implementation:
|
| virtual MultiProfileUserController* GetMultiProfileUserController() OVERRIDE;
|
| virtual UserImageManager* GetUserImageManager(
|
| const std::string& user_id) OVERRIDE;
|
| virtual SupervisedUserManager* GetSupervisedUserManager() OVERRIDE;
|
| + virtual UserFlow* GetCurrentUserFlow() const OVERRIDE;
|
| + virtual UserFlow* GetUserFlow(const std::string& user_id) const OVERRIDE;
|
| + virtual void SetUserFlow(const std::string& user_id, UserFlow* flow) OVERRIDE;
|
| + virtual void ResetUserFlow(const std::string& user_id) OVERRIDE;
|
| +
|
| + // UserManager implementation:
|
| + virtual void Shutdown() OVERRIDE;
|
| virtual user_manager::UserList GetUsersAdmittedForMultiProfile()
|
| const OVERRIDE;
|
| virtual user_manager::UserList GetUnlockUsers() const OVERRIDE;
|
| @@ -71,11 +88,6 @@ class ChromeUserManager
|
| virtual bool CanCurrentUserLock() const OVERRIDE;
|
| virtual bool IsUserNonCryptohomeDataEphemeral(
|
| const std::string& user_id) const OVERRIDE;
|
| -
|
| - virtual UserFlow* GetCurrentUserFlow() const OVERRIDE;
|
| - virtual UserFlow* GetUserFlow(const std::string& user_id) const OVERRIDE;
|
| - virtual void SetUserFlow(const std::string& user_id, UserFlow* flow) OVERRIDE;
|
| - virtual void ResetUserFlow(const std::string& user_id) OVERRIDE;
|
| virtual bool AreSupervisedUsersAllowed() const OVERRIDE;
|
|
|
| // content::NotificationObserver implementation.
|
| @@ -103,6 +115,9 @@ class ChromeUserManager
|
| virtual bool AreEphemeralUsersEnabled() const OVERRIDE;
|
| virtual const std::string& GetApplicationLocale() const OVERRIDE;
|
| virtual PrefService* GetLocalState() const OVERRIDE;
|
| + virtual void HandleUserOAuthTokenStatusChange(
|
| + const std::string& user_id,
|
| + user_manager::User::OAuthTokenStatus status) const OVERRIDE;
|
| virtual bool IsEnterpriseManaged() const OVERRIDE;
|
| virtual void LoadPublicAccounts(std::set<std::string>* users_set) OVERRIDE;
|
| virtual void NotifyOnLogin() OVERRIDE;
|
| @@ -112,8 +127,9 @@ class ChromeUserManager
|
| virtual void PerformPostUserListLoadingActions() OVERRIDE;
|
| virtual void PerformPostUserLoggedInActions(bool browser_restart) OVERRIDE;
|
| virtual void RemoveNonCryptohomeData(const std::string& user_id) OVERRIDE;
|
| - virtual void RemoveUserInternal(const std::string& user_email,
|
| - RemoveUserDelegate* delegate) OVERRIDE;
|
| + virtual void RemoveUserInternal(
|
| + const std::string& user_email,
|
| + user_manager::RemoveUserDelegate* delegate) OVERRIDE;
|
| virtual bool IsDemoApp(const std::string& user_id) const OVERRIDE;
|
| virtual bool IsKioskApp(const std::string& user_id) const OVERRIDE;
|
| virtual bool IsPublicAccountMarkedForRemoval(
|
| @@ -130,7 +146,6 @@ class ChromeUserManager
|
|
|
| private:
|
| friend class SupervisedUserManagerImpl;
|
| - friend class UserManager;
|
| friend class UserManagerTest;
|
| friend class WallpaperManager;
|
| friend class WallpaperManagerTest;
|
| @@ -138,7 +153,7 @@ class ChromeUserManager
|
| typedef base::hash_map<std::string, linked_ptr<UserImageManager> >
|
| UserImageManagerMap;
|
|
|
| - ChromeUserManager();
|
| + ChromeUserManagerImpl();
|
|
|
| // Retrieves trusted device policies and removes users from the persistent
|
| // list if ephemeral users are enabled. Schedules a callback to itself if
|
| @@ -220,11 +235,11 @@ class ChromeUserManager
|
| scoped_ptr<policy::CloudExternalDataPolicyObserver>
|
| wallpaper_policy_observer_;
|
|
|
| - base::WeakPtrFactory<ChromeUserManager> weak_factory_;
|
| + base::WeakPtrFactory<ChromeUserManagerImpl> weak_factory_;
|
|
|
| - DISALLOW_COPY_AND_ASSIGN(ChromeUserManager);
|
| + DISALLOW_COPY_AND_ASSIGN(ChromeUserManagerImpl);
|
| };
|
|
|
| } // namespace chromeos
|
|
|
| -#endif // CHROME_BROWSER_CHROMEOS_LOGIN_USERS_CHROME_USER_MANAGER_H_
|
| +#endif // CHROME_BROWSER_CHROMEOS_LOGIN_USERS_CHROME_USER_MANAGER_IMPL_H_
|
|
|