1c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Copyright (c) 2013 The Chromium Authors. All rights reserved.
2c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
3c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// found in the LICENSE file.
4c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
5c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#ifndef ASH_SESSION_STATE_DELEGATE_STUB_H_
6c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#define ASH_SESSION_STATE_DELEGATE_STUB_H_
7c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
8c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "ash/session_state_delegate.h"
9c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "base/basictypes.h"
10c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "base/compiler_specific.h"
1190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#include "ui/gfx/image/image_skia.h"
12c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
13c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)namespace ash {
14c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
15c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Stub implementation of SessionStateDelegate for testing.
16c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)class SessionStateDelegateStub : public SessionStateDelegate {
17c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) public:
18c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  SessionStateDelegateStub();
19c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  virtual ~SessionStateDelegateStub();
20c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
21c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  // SessionStateDelegate:
2290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  virtual int GetMaximumNumberOfLoggedInUsers() const OVERRIDE;
2390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  virtual int NumberOfLoggedInUsers() const OVERRIDE;
24c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  virtual bool IsActiveUserSessionStarted() const OVERRIDE;
25c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  virtual bool CanLockScreen() const OVERRIDE;
26c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  virtual bool IsScreenLocked() const OVERRIDE;
274e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  virtual bool ShouldLockScreenBeforeSuspending() const OVERRIDE;
28c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  virtual void LockScreen() OVERRIDE;
29c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  virtual void UnlockScreen() OVERRIDE;
30bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch  virtual bool IsUserSessionBlocked() const OVERRIDE;
3190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  virtual const base::string16 GetUserDisplayName(
3290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)      ash::MultiProfileIndex index) const OVERRIDE;
3390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  virtual const std::string GetUserEmail(
3490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)      ash::MultiProfileIndex index) const OVERRIDE;
358bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)  virtual const std::string GetUserID(
368bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)      ash::MultiProfileIndex index) const OVERRIDE;
3790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  virtual const gfx::ImageSkia& GetUserImage(
3890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)      ash::MultiProfileIndex index) const OVERRIDE;
39868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  virtual void GetLoggedInUsers(UserIdList* users) OVERRIDE;
40868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  virtual void SwitchActiveUser(const std::string& user_id) OVERRIDE;
41a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)  virtual void CycleActiveUser(CycleUser cycle_user) OVERRIDE;
42868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  virtual void AddSessionStateObserver(
43868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)      ash::SessionStateObserver* observer) OVERRIDE;
44868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  virtual void RemoveSessionStateObserver(
45868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)      ash::SessionStateObserver* observer) OVERRIDE;
464e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  virtual bool TransferWindowToDesktopOfUser(
474e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)      aura::Window* window,
481e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)      ash::MultiProfileIndex index) OVERRIDE;
49c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
50c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) private:
51c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  bool screen_locked_;
52c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
5390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  // A pseudo user image.
5490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  gfx::ImageSkia null_image_;
5590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
56c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  DISALLOW_COPY_AND_ASSIGN(SessionStateDelegateStub);
57c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)};
58c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
59c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)}  // namespace ash
60c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
61c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#endif  // ASH_SESSION_STATE_DELEGATE_STUB_H_
62