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

Unified Diff: ash/common/session/session_controller.h

Issue 2729363002: chromeos: Move files in //ash/common to //ash, part 3 (Closed)
Patch Set: Created 3 years, 9 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/common/scoped_root_window_for_new_windows.cc ('k') | ash/common/session/session_controller.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ash/common/session/session_controller.h
diff --git a/ash/common/session/session_controller.h b/ash/common/session/session_controller.h
deleted file mode 100644
index 99d0daff8222b2349cfd7861bb5e113ebd83eaa6..0000000000000000000000000000000000000000
--- a/ash/common/session/session_controller.h
+++ /dev/null
@@ -1,128 +0,0 @@
-// Copyright 2016 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_COMMON_SESSION_SESSION_CONTROLLER_H_
-#define ASH_COMMON_SESSION_SESSION_CONTROLLER_H_
-
-#include <stdint.h>
-
-#include <vector>
-
-#include "ash/ash_export.h"
-#include "ash/public/cpp/session_types.h"
-#include "ash/public/interfaces/session_controller.mojom.h"
-#include "base/macros.h"
-#include "base/observer_list.h"
-#include "mojo/public/cpp/bindings/binding_set.h"
-
-class AccountId;
-
-namespace ash {
-
-class SessionStateObserver;
-
-// Implements mojom::SessionController to cache session related info such as
-// session state, meta data about user sessions to support synchronous
-// queries for ash. It is targeted as a replacement for SessionStateDelegate.
-class ASH_EXPORT SessionController
- : NON_EXPORTED_BASE(public mojom::SessionController) {
- public:
- SessionController();
- ~SessionController() override;
-
- // Binds the mojom::SessionControllerRequest to this object.
- void BindRequest(mojom::SessionControllerRequest request);
-
- // Returns the maximum possible number of logged in users.
- int GetMaximumNumberOfLoggedInUsers() const;
-
- // Returns the number of signed in users. If 0 is returned, there is either
- // no session in progress or no active user.
- int NumberOfLoggedInUsers() const;
-
- // Gets the policy of adding a user session to ash.
- AddUserSessionPolicy GetAddUserPolicy() const;
-
- // 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.
- bool IsActiveUserSessionStarted() const;
-
- // Returns true if the screen can be locked.
- bool CanLockScreen() const;
-
- // Returns true if the screen is currently locked.
- bool IsScreenLocked() const;
-
- // Returns true if the screen should be locked automatically when the screen
- // is turned off or the system is suspended.
- bool ShouldLockScreenAutomatically() const;
-
- // 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.
- bool IsUserSessionBlocked() const;
-
- // Gets the ash session state.
- session_manager::SessionState GetSessionState() const;
-
- // Gets the user sessions in LRU order with the active session being first.
- const std::vector<mojom::UserSessionPtr>& GetUserSessions() const;
-
- // Locks the screen. The locking happens asynchronously.
- void LockScreen();
-
- // Switches to another active user with |account_id| (if that user has
- // already signed in).
- void SwitchActiveUser(const AccountId& account_id);
-
- // Switches the active user to the next or previous user, with the same
- // ordering as user sessions are created.
- void CycleActiveUser(CycleUserDirection direction);
-
- void AddSessionStateObserver(SessionStateObserver* observer);
- void RemoveSessionStateObserver(SessionStateObserver* observer);
-
- // mojom::SessionController
- void SetClient(mojom::SessionControllerClientPtr client) override;
- void SetSessionInfo(mojom::SessionInfoPtr info) override;
- void UpdateUserSession(mojom::UserSessionPtr user_session) override;
- void SetUserSessionOrder(
- const std::vector<uint32_t>& user_session_order) override;
-
- private:
- void SetSessionState(session_manager::SessionState state);
- void AddUserSession(mojom::UserSessionPtr user_session);
-
- // Bindings for mojom::SessionController interface.
- mojo::BindingSet<mojom::SessionController> bindings_;
-
- // Client interface to session manager code (chrome).
- mojom::SessionControllerClientPtr client_;
-
- // Cached session info.
- bool can_lock_ = false;
- bool should_lock_screen_automatically_ = false;
- AddUserSessionPolicy add_user_session_policy_ = AddUserSessionPolicy::ALLOWED;
- session_manager::SessionState state_ = session_manager::SessionState::UNKNOWN;
-
- // Cached user session info sorted by the order from SetUserSessionOrder.
- // Currently the session manager code (chrome) sets a LRU order with the
- // active session being the first.
- std::vector<mojom::UserSessionPtr> user_sessions_;
-
- // The user session id of the current active user session. User session id
- // is managed by session manager code, starting at 1. 0u is an invalid id
- // to detect first active user session.
- uint32_t active_session_id_ = 0u;
-
- base::ObserverList<ash::SessionStateObserver> observers_;
-
- DISALLOW_COPY_AND_ASSIGN(SessionController);
-};
-
-} // namespace ash
-
-#endif // ASH_COMMON_SESSION_SESSION_CONTROLLER_H_
« no previous file with comments | « ash/common/scoped_root_window_for_new_windows.cc ('k') | ash/common/session/session_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698