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/session_state_delegate.h" 9#include "base/basictypes.h" 10#include "base/compiler_specific.h" 11#include "base/observer_list.h" 12#include "ui/gfx/image/image_skia.h" 13 14namespace ash { 15class SessionStateObserver; 16} // namespace ash 17 18class SessionStateDelegate : public ash::SessionStateDelegate { 19 public: 20 SessionStateDelegate(); 21 virtual ~SessionStateDelegate(); 22 23 // ash::SessionStateDelegate: 24 virtual content::BrowserContext* GetBrowserContextByIndex( 25 ash::MultiProfileIndex index) OVERRIDE; 26 virtual content::BrowserContext* GetBrowserContextForWindow( 27 aura::Window* window) OVERRIDE; 28 virtual int GetMaximumNumberOfLoggedInUsers() const OVERRIDE; 29 virtual int NumberOfLoggedInUsers() const OVERRIDE; 30 virtual bool IsActiveUserSessionStarted() const OVERRIDE; 31 virtual bool CanLockScreen() const OVERRIDE; 32 virtual bool IsScreenLocked() const OVERRIDE; 33 virtual bool ShouldLockScreenBeforeSuspending() const OVERRIDE; 34 virtual void LockScreen() OVERRIDE; 35 virtual void UnlockScreen() OVERRIDE; 36 virtual bool IsUserSessionBlocked() const OVERRIDE; 37 virtual SessionState GetSessionState() const OVERRIDE; 38 virtual const user_manager::UserInfo* GetUserInfo( 39 ash::MultiProfileIndex index) const OVERRIDE; 40 virtual const user_manager::UserInfo* GetUserInfo( 41 content::BrowserContext* context) const OVERRIDE; 42 virtual bool ShouldShowAvatar(aura::Window* window) const OVERRIDE; 43 virtual void SwitchActiveUser(const std::string& user_id) OVERRIDE; 44 virtual void CycleActiveUser(CycleUser cycle_user) OVERRIDE; 45 virtual bool IsMultiProfileAllowedByPrimaryUserPolicy() const OVERRIDE; 46 virtual void AddSessionStateObserver( 47 ash::SessionStateObserver* observer) OVERRIDE; 48 virtual void RemoveSessionStateObserver( 49 ash::SessionStateObserver* observer) OVERRIDE; 50 51 private: 52 DISALLOW_COPY_AND_ASSIGN(SessionStateDelegate); 53}; 54 55#endif // CHROME_BROWSER_UI_ASH_SESSION_STATE_DELEGATE_VIEWS_H_ 56