1// Copyright (c) 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_UI_ASH_SESSION_STATE_DELEGATE_VIEWS_H_ 6#define CHROME_BROWSER_UI_ASH_SESSION_STATE_DELEGATE_VIEWS_H_ 7 8#include "ash/session_state_delegate.h" 9#include "base/basictypes.h" 10#include "base/compiler_specific.h" 11#include "base/observer_list.h" 12 13namespace ash { 14class SessionStateObserver; 15} // namespace ash 16 17class SessionStateDelegate : public ash::SessionStateDelegate { 18 public: 19 SessionStateDelegate(); 20 virtual ~SessionStateDelegate(); 21 22 // ash::SessionStateDelegate: 23 virtual int GetMaximumNumberOfLoggedInUsers() const OVERRIDE; 24 virtual int NumberOfLoggedInUsers() const OVERRIDE; 25 virtual bool IsActiveUserSessionStarted() const OVERRIDE; 26 virtual bool CanLockScreen() const OVERRIDE; 27 virtual bool IsScreenLocked() const OVERRIDE; 28 virtual bool ShouldLockScreenBeforeSuspending() const OVERRIDE; 29 virtual void LockScreen() OVERRIDE; 30 virtual void UnlockScreen() OVERRIDE; 31 virtual bool IsUserSessionBlocked() const OVERRIDE; 32 virtual const base::string16 GetUserDisplayName( 33 ash::MultiProfileIndex index) const OVERRIDE; 34 virtual const std::string GetUserEmail( 35 ash::MultiProfileIndex index) const OVERRIDE; 36 virtual const std::string GetUserID( 37 ash::MultiProfileIndex index) const OVERRIDE; 38 virtual const gfx::ImageSkia& GetUserImage( 39 ash::MultiProfileIndex index) const OVERRIDE; 40 virtual void GetLoggedInUsers(ash::UserIdList* users) OVERRIDE; 41 virtual void SwitchActiveUser(const std::string& user_id) OVERRIDE; 42 virtual void CycleActiveUser(CycleUser cycle_user) OVERRIDE; 43 virtual void AddSessionStateObserver( 44 ash::SessionStateObserver* observer) OVERRIDE; 45 virtual void RemoveSessionStateObserver( 46 ash::SessionStateObserver* observer) OVERRIDE; 47 virtual bool TransferWindowToDesktopOfUser( 48 aura::Window* window, 49 ash::MultiProfileIndex index) OVERRIDE; 50 private: 51 DISALLOW_COPY_AND_ASSIGN(SessionStateDelegate); 52}; 53 54#endif // CHROME_BROWSER_UI_ASH_SESSION_STATE_DELEGATE_VIEWS_H_ 55