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)
5868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "chrome/browser/ui/ash/session_state_delegate_views.h"
6c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#include "base/logging.h"
87d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)#include "base/strings/string16.h"
9868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "base/strings/utf_string_conversions.h"
10116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "components/user_manager/empty_user_info.h"
1190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#include "ui/gfx/image/image_skia.h"
1290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
13c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)SessionStateDelegate::SessionStateDelegate() {
14c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)}
15c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
16c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)SessionStateDelegate::~SessionStateDelegate() {
17c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)}
18c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
19a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)content::BrowserContext* SessionStateDelegate::GetBrowserContextByIndex(
20a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    ash::MultiProfileIndex index) {
21a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  NOTIMPLEMENTED();
22a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  return NULL;
23a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)}
24a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
25effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochcontent::BrowserContext* SessionStateDelegate::GetBrowserContextForWindow(
26effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch    aura::Window* window) {
27effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch  NOTIMPLEMENTED();
28effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch  return NULL;
29effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch}
30effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
3190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)int SessionStateDelegate::GetMaximumNumberOfLoggedInUsers() const {
3290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  return 3;
3390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)}
3490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
3590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)int SessionStateDelegate::NumberOfLoggedInUsers() const {
3690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  return 1;
37c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)}
38c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
39c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)bool SessionStateDelegate::IsActiveUserSessionStarted() const {
40c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  return true;
41c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)}
42c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
43c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)bool SessionStateDelegate::CanLockScreen() const {
44c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  return false;
45c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)}
46c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
47c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)bool SessionStateDelegate::IsScreenLocked() const {
48c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  return false;
49c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)}
50c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
514e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)bool SessionStateDelegate::ShouldLockScreenBeforeSuspending() const {
524e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  return false;
534e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)}
544e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)
55c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)void SessionStateDelegate::LockScreen() {
56c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)}
57c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
58c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)void SessionStateDelegate::UnlockScreen() {
59c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)}
6090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
61bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdochbool SessionStateDelegate::IsUserSessionBlocked() const {
62bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch  return false;
63bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch}
64bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch
65a02191e04bc25c4935f804f2c080ae28663d096dBen Murdochash::SessionStateDelegate::SessionState SessionStateDelegate::GetSessionState()
66a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch    const {
67a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch  return SESSION_STATE_ACTIVE;
68a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch}
69a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch
70116680a4aac90f2aa7413d9095a592090648e557Ben Murdochconst user_manager::UserInfo* SessionStateDelegate::GetUserInfo(
718bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)    ash::MultiProfileIndex index) const {
72cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  return GetUserInfo(static_cast<content::BrowserContext*>(NULL));
738bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)}
748bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)
75116680a4aac90f2aa7413d9095a592090648e557Ben Murdochconst user_manager::UserInfo* SessionStateDelegate::GetUserInfo(
76a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    content::BrowserContext* context) const {
77116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  static const user_manager::UserInfo* kUserInfo =
78116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch      new user_manager::EmptyUserInfo();
795c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu  return kUserInfo;
8090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)}
8190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
825c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liubool SessionStateDelegate::ShouldShowAvatar(aura::Window* window) const {
83a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  return false;
8490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)}
8590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
868bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)void SessionStateDelegate::SwitchActiveUser(const std::string& user_id) {
87868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  NOTIMPLEMENTED();
88868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)}
89868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
90a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)void SessionStateDelegate::CycleActiveUser(CycleUser cycle_user) {
9168043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)  NOTIMPLEMENTED();
9268043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)}
9368043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)
946e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)bool SessionStateDelegate::IsMultiProfileAllowedByPrimaryUserPolicy() const {
956e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)  return true;
966e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)}
976e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)
98868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)void SessionStateDelegate::AddSessionStateObserver(
99868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    ash::SessionStateObserver* observer) {
100868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  NOTIMPLEMENTED();
101868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)}
102868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
103868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)void SessionStateDelegate::RemoveSessionStateObserver(
104868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    ash::SessionStateObserver* observer) {
10590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  NOTIMPLEMENTED();
10690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)}
107