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

Unified Diff: ash/session_state_delegate.h

Issue 253063002: CleanUp: Introduce UserInfo. Move session_state stuff to ash/session. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix tests Created 6 years, 8 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
« no previous file with comments | « ash/session/user_info.h ('k') | ash/session_state_delegate_stub.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ash/session_state_delegate.h
diff --git a/ash/session_state_delegate.h b/ash/session_state_delegate.h
deleted file mode 100644
index dcbd7f975b5c67aeb359e01a85e3a269ac063c65..0000000000000000000000000000000000000000
--- a/ash/session_state_delegate.h
+++ /dev/null
@@ -1,155 +0,0 @@
-// Copyright (c) 2013 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 ASH_SESSION_STATE_DELEGATE_H_
-#define ASH_SESSION_STATE_DELEGATE_H_
-
-#include <string>
-#include <vector>
-
-#include "ash/ash_export.h"
-#include "base/strings/string16.h"
-
-namespace aura {
-class Window;
-} // namespace aura
-
-namespace content {
-class BrowserContext;
-}
-
-namespace gfx {
-class ImageSkia;
-} // namespace gfx
-
-namespace ash {
-
-class SessionStateObserver;
-
-// The index for the multi-profile item to use. The list is always LRU sorted
-// So that the index #0 is the currently active user.
-typedef int MultiProfileIndex;
-
-// A list of user_id.
-typedef std::vector<std::string> UserIdList;
-
-// Delegate for checking and modifying the session state.
-// TODO(oshima): Replace MultiProfileIndex with BrowsreContext, bacause
-// GetUserXXX are useful for non multi profile scenario in ash_shell.
-class ASH_EXPORT SessionStateDelegate {
- public:
- // Defines the cycle direction for |CycleActiveUser|.
- enum CycleUser {
- CYCLE_TO_NEXT_USER = 0, // Cycle to the next user.
- CYCLE_TO_PREVIOUS_USER, // Cycle to the previous user.
- };
-
- // Defines session state i.e. whether session is running or not and
- // whether user session is blocked by things like multi-profile login.
- enum SessionState {
- // When primary user login UI is shown i.e. after boot or sign out,
- // no active user session exists yet.
- SESSION_STATE_LOGIN_PRIMARY = 0,
-
- // Inside user session (including lock screen),
- // no login UI (primary or multi-profiles) is shown.
- SESSION_STATE_ACTIVE,
-
- // When secondary user login UI is shown i.e. other users are
- // already logged in and is currently adding another user to the session.
- SESSION_STATE_LOGIN_SECONDARY,
- };
-
- virtual ~SessionStateDelegate() {};
-
- // Returns the browser context for the user given by |index|.
- virtual content::BrowserContext* GetBrowserContextByIndex(
- MultiProfileIndex index) = 0;
-
- // Returns the browser context associated with the window.
- virtual content::BrowserContext* GetBrowserContextForWindow(
- aura::Window* window) = 0;
-
- // Returns the maximum possible number of logged in users.
- virtual int GetMaximumNumberOfLoggedInUsers() const = 0;
-
- // Returns the number of signed in users. If 0 is returned, there is either
- // no session in progress or no active user.
- virtual int NumberOfLoggedInUsers() const = 0;
-
- // Returns |true| if the session has been fully started for the active user.
- // When a user becomes active, the profile and browser UI are not immediately
- // available. Only once this method starts returning |true| is the browser
- // startup complete and both profile and UI are fully available.
- virtual bool IsActiveUserSessionStarted() const = 0;
-
- // Returns true if the screen can be locked.
- virtual bool CanLockScreen() const = 0;
-
- // Returns true if the screen is currently locked.
- virtual bool IsScreenLocked() const = 0;
-
- // Returns true if the screen should be locked when the system is about to
- // suspend.
- virtual bool ShouldLockScreenBeforeSuspending() const = 0;
-
- // Locks the screen. The locking happens asynchronously.
- virtual void LockScreen() = 0;
-
- // Unlocks the screen.
- virtual void UnlockScreen() = 0;
-
- // Returns |true| if user session blocked by some overlying UI. It can be
- // login screen, lock screen or screen for adding users into multi-profile
- // session.
- virtual bool IsUserSessionBlocked() const = 0;
-
- // Returns current session state.
- virtual SessionState GetSessionState() const = 0;
-
- // Gets the displayed name for the user with the given |index|.
- // Note that |index| can at maximum be |NumberOfLoggedInUsers() - 1|.
- virtual const base::string16 GetUserDisplayName(
- MultiProfileIndex index) const = 0;
-
- // Gets the given name of the user with |index|. An empty string can be
- // returned if the given name of the user is unknown.
- // Note that |index| can at maximum be |NumberOfLoggedInUsers() - 1|.
- virtual const base::string16 GetUserGivenName(
- MultiProfileIndex index) const = 0;
-
- // Gets the display email address for the user with the given |index|.
- // The display email address might contains some periods in the email name
- // as well as capitalized letters. For example: "Foo.Bar@mock.com".
- // Note that |index| can at maximum be |NumberOfLoggedInUsers() - 1|.
- virtual const std::string GetUserEmail(MultiProfileIndex index) const = 0;
-
- // Gets the user id (sanitized email address) for the user with the given
- // |index|. The function would return something like "foobar@mock.com".
- // Note that |index| can at maximum be |NumberOfLoggedInUsers() - 1|.
- virtual const std::string GetUserID(MultiProfileIndex index) const = 0;
-
- // Gets the avatar image for the user associated with the |context|.
- virtual const gfx::ImageSkia& GetUserImage(
- content::BrowserContext* context) const = 0;
-
- // Whether or not the window's title should show the avatar.
- virtual bool ShouldShowAvatar(aura::Window* window) = 0;
-
- // Switches to another active user with |user_id|
- // (if that user has already signed in).
- virtual void SwitchActiveUser(const std::string& user_id) = 0;
-
- // Switches the active user to the next or previous user, with the same
- // ordering as GetLoggedInUsers.
- virtual void CycleActiveUser(CycleUser cycle_user) = 0;
-
- // Adds or removes sessions state observer.
- virtual void AddSessionStateObserver(SessionStateObserver* observer) = 0;
- virtual void RemoveSessionStateObserver(SessionStateObserver* observer) = 0;
-};
-
-} // namespace ash
-
-#endif // ASH_SESSION_STATE_DELEGATE_H_
« no previous file with comments | « ash/session/user_info.h ('k') | ash/session_state_delegate_stub.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698