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

Side by Side Diff: chrome/browser/chromeos/login/fake_user_manager.h

Issue 286933002: [cros login] Split login related classes into subfolders. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix includes in new tests Created 6 years, 7 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef CHROME_BROWSER_CHROMEOS_LOGIN_FAKE_USER_MANAGER_H_
6 #define CHROME_BROWSER_CHROMEOS_LOGIN_FAKE_USER_MANAGER_H_
7
8 #include <map>
9 #include <string>
10
11 #include "base/memory/scoped_ptr.h"
12 #include "chrome/browser/chromeos/login/user.h"
13 #include "chrome/browser/chromeos/login/user_flow.h"
14 #include "chrome/browser/chromeos/login/user_image.h"
15 #include "chrome/browser/chromeos/login/user_manager.h"
16
17 namespace chromeos {
18
19 class FakeSupervisedUserManager;
20
21 // Fake user manager with a barebones implementation. Users can be added
22 // and set as logged in, and those users can be returned.
23 class FakeUserManager : public UserManager {
24 public:
25 FakeUserManager();
26 virtual ~FakeUserManager();
27
28 // Create and add a new user.
29 const User* AddUser(const std::string& email);
30
31 // Create and add a kiosk app user.
32 void AddKioskAppUser(const std::string& kiosk_app_username);
33
34 // Calculates the user name hash and calls UserLoggedIn to login a user.
35 void LoginUser(const std::string& email);
36
37 // Associates |profile| with |user|, for GetProfileByUser().
38 void SetProfileForUser(const User* user, Profile* profile);
39
40 // UserManager overrides.
41 virtual const UserList& GetUsers() const OVERRIDE;
42 virtual UserList GetUsersAdmittedForMultiProfile() const OVERRIDE;
43 virtual const UserList& GetLoggedInUsers() const OVERRIDE;
44
45 // Set the user as logged in.
46 virtual void UserLoggedIn(const std::string& email,
47 const std::string& username_hash,
48 bool browser_restart) OVERRIDE;
49
50 virtual const User* GetActiveUser() const OVERRIDE;
51 virtual User* GetActiveUser() OVERRIDE;
52 virtual void SwitchActiveUser(const std::string& email) OVERRIDE;
53 virtual void SaveUserDisplayName(const std::string& username,
54 const base::string16& display_name) OVERRIDE;
55
56 // Not implemented.
57 virtual void UpdateUserAccountData(
58 const std::string& user_id,
59 const UserAccountData& account_data) OVERRIDE {}
60 virtual void Shutdown() OVERRIDE {}
61 virtual MultiProfileUserController* GetMultiProfileUserController() OVERRIDE;
62 virtual UserImageManager* GetUserImageManager(
63 const std::string& user_id) OVERRIDE;
64 virtual SupervisedUserManager* GetSupervisedUserManager() OVERRIDE;
65 virtual const UserList& GetLRULoggedInUsers() OVERRIDE;
66 virtual UserList GetUnlockUsers() const OVERRIDE;
67 virtual const std::string& GetOwnerEmail() OVERRIDE;
68 virtual void SessionStarted() OVERRIDE {}
69 virtual void RestoreActiveSessions() OVERRIDE {}
70 virtual void RemoveUser(const std::string& email,
71 RemoveUserDelegate* delegate) OVERRIDE {}
72 virtual void RemoveUserFromList(const std::string& email) OVERRIDE {}
73 virtual bool IsKnownUser(const std::string& email) const OVERRIDE;
74 virtual const User* FindUser(const std::string& email) const OVERRIDE;
75 virtual User* FindUserAndModify(const std::string& email) OVERRIDE;
76 virtual const User* GetLoggedInUser() const OVERRIDE;
77 virtual User* GetLoggedInUser() OVERRIDE;
78 virtual const User* GetPrimaryUser() const OVERRIDE;
79 virtual Profile* GetProfileByUser(const User* profile) const OVERRIDE;
80 virtual User* GetUserByProfile(Profile* profile) const OVERRIDE;
81 virtual void SaveUserOAuthStatus(
82 const std::string& username,
83 User::OAuthTokenStatus oauth_token_status) OVERRIDE {}
84 virtual void SaveForceOnlineSignin(const std::string& user_id,
85 bool force_online_signin) OVERRIDE {}
86 virtual base::string16 GetUserDisplayName(
87 const std::string& username) const OVERRIDE;
88 virtual void SaveUserDisplayEmail(const std::string& username,
89 const std::string& display_email) OVERRIDE {}
90 virtual std::string GetUserDisplayEmail(
91 const std::string& username) const OVERRIDE;
92 virtual bool IsCurrentUserOwner() const OVERRIDE;
93 virtual bool IsCurrentUserNew() const OVERRIDE;
94 virtual bool IsCurrentUserNonCryptohomeDataEphemeral() const OVERRIDE;
95 virtual bool CanCurrentUserLock() const OVERRIDE;
96 virtual bool IsUserLoggedIn() const OVERRIDE;
97 virtual bool IsLoggedInAsRegularUser() const OVERRIDE;
98 virtual bool IsLoggedInAsDemoUser() const OVERRIDE;
99 virtual bool IsLoggedInAsPublicAccount() const OVERRIDE;
100 virtual bool IsLoggedInAsGuest() const OVERRIDE;
101 virtual bool IsLoggedInAsLocallyManagedUser() const OVERRIDE;
102 virtual bool IsLoggedInAsKioskApp() const OVERRIDE;
103 virtual bool IsLoggedInAsStub() const OVERRIDE;
104 virtual bool IsSessionStarted() const OVERRIDE;
105 virtual bool UserSessionsRestored() const OVERRIDE;
106 virtual bool HasBrowserRestarted() const OVERRIDE;
107 virtual bool IsUserNonCryptohomeDataEphemeral(
108 const std::string& email) const OVERRIDE;
109 virtual void SetUserFlow(const std::string& email, UserFlow* flow) OVERRIDE {}
110 virtual UserFlow* GetCurrentUserFlow() const OVERRIDE;
111 virtual UserFlow* GetUserFlow(const std::string& email) const OVERRIDE;
112 virtual void ResetUserFlow(const std::string& email) OVERRIDE {}
113 virtual bool GetAppModeChromeClientOAuthInfo(
114 std::string* chrome_client_id,
115 std::string* chrome_client_secret) OVERRIDE;
116 virtual void SetAppModeChromeClientOAuthInfo(
117 const std::string& chrome_client_id,
118 const std::string& chrome_client_secret) OVERRIDE {}
119 virtual void AddObserver(Observer* obs) OVERRIDE {}
120 virtual void RemoveObserver(Observer* obs) OVERRIDE {}
121 virtual void AddSessionStateObserver(
122 UserSessionStateObserver* obs) OVERRIDE {}
123 virtual void RemoveSessionStateObserver(
124 UserSessionStateObserver* obs) OVERRIDE {}
125 virtual void NotifyLocalStateChanged() OVERRIDE {}
126 virtual bool AreLocallyManagedUsersAllowed() const OVERRIDE;
127 virtual base::FilePath GetUserProfileDir(const std::string& email) const
128 OVERRIDE;
129 virtual bool RespectLocalePreference(
130 Profile* profile,
131 const User* user,
132 scoped_ptr<locale_util::SwitchLanguageCallback> callback) const OVERRIDE;
133
134 void set_owner_email(const std::string& owner_email) {
135 owner_email_ = owner_email;
136 }
137
138 private:
139 // We use this internal function for const-correctness.
140 User* GetActiveUserInternal() const;
141
142 scoped_ptr<FakeSupervisedUserManager> supervised_user_manager_;
143 UserList user_list_;
144 UserList logged_in_users_;
145 std::string owner_email_;
146 User* primary_user_;
147 std::map<const User*, Profile*> user_to_profile_;
148
149 // If set this is the active user. If empty, the first created user is the
150 // active user.
151 std::string active_user_id_;
152
153 DISALLOW_COPY_AND_ASSIGN(FakeUserManager);
154 };
155
156 } // namespace chromeos
157
158 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_FAKE_USER_MANAGER_H_
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/login/fake_supervised_user_manager.cc ('k') | chrome/browser/chromeos/login/fake_user_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698