root/ash/session_state_delegate_stub.cc

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. GetBrowserContextByIndex
  2. GetBrowserContextForWindow
  3. GetMaximumNumberOfLoggedInUsers
  4. NumberOfLoggedInUsers
  5. IsActiveUserSessionStarted
  6. CanLockScreen
  7. IsScreenLocked
  8. ShouldLockScreenBeforeSuspending
  9. LockScreen
  10. UnlockScreen
  11. IsUserSessionBlocked
  12. GetUserDisplayName
  13. GetUserEmail
  14. GetUserID
  15. GetUserImage
  16. ShouldShowAvatar
  17. SwitchActiveUser
  18. CycleActiveUser
  19. AddSessionStateObserver
  20. RemoveSessionStateObserver

// Copyright (c) 2013 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.

#include "ash/session_state_delegate_stub.h"

#include "ash/shell.h"
#include "ash/shell/example_factory.h"
#include "ash/shell_delegate.h"
#include "base/strings/string16.h"
#include "base/strings/utf_string_conversions.h"

namespace ash {

SessionStateDelegateStub::SessionStateDelegateStub() : screen_locked_(false) {
}

SessionStateDelegateStub::~SessionStateDelegateStub() {
}

content::BrowserContext*
SessionStateDelegateStub::GetBrowserContextByIndex(
    MultiProfileIndex index) {
  return Shell::GetInstance()->delegate()->GetActiveBrowserContext();
}

content::BrowserContext*
SessionStateDelegateStub::GetBrowserContextForWindow(
    aura::Window* window) {
  return Shell::GetInstance()->delegate()->GetActiveBrowserContext();
}

int SessionStateDelegateStub::GetMaximumNumberOfLoggedInUsers() const {
  return 3;
}

int SessionStateDelegateStub::NumberOfLoggedInUsers() const {
  return 1;
}

bool SessionStateDelegateStub::IsActiveUserSessionStarted() const {
  return true;
}

bool SessionStateDelegateStub::CanLockScreen() const {
  return true;
}

bool SessionStateDelegateStub::IsScreenLocked() const {
  return screen_locked_;
}

bool SessionStateDelegateStub::ShouldLockScreenBeforeSuspending() const {
  return false;
}

void SessionStateDelegateStub::LockScreen() {
  shell::CreateLockScreen();
  screen_locked_ = true;
  Shell::GetInstance()->UpdateShelfVisibility();
}

void SessionStateDelegateStub::UnlockScreen() {
  screen_locked_ = false;
  Shell::GetInstance()->UpdateShelfVisibility();
}

bool SessionStateDelegateStub::IsUserSessionBlocked() const  {
  return !IsActiveUserSessionStarted() || IsScreenLocked();
}

const base::string16 SessionStateDelegateStub::GetUserDisplayName(
    MultiProfileIndex index) const {
  return base::UTF8ToUTF16("stub-user");
}

const std::string SessionStateDelegateStub::GetUserEmail(
    MultiProfileIndex index) const {
  return "stub-user@domain.com";
}

const std::string SessionStateDelegateStub::GetUserID(
    MultiProfileIndex index) const {
  return GetUserEmail(index);
}

const gfx::ImageSkia& SessionStateDelegateStub::GetUserImage(
    content::BrowserContext* context) const {
  return user_image_;
}

bool SessionStateDelegateStub::ShouldShowAvatar(aura::Window* window) {
  return !user_image_.isNull();
}

void SessionStateDelegateStub::SwitchActiveUser(const std::string& user_id) {
}

void SessionStateDelegateStub::CycleActiveUser(CycleUser cycle_user) {
}

void SessionStateDelegateStub::AddSessionStateObserver(
    ash::SessionStateObserver* observer) {
}

void SessionStateDelegateStub::RemoveSessionStateObserver(
    ash::SessionStateObserver* observer) {
}

}  // namespace ash

/* [<][>][^][v][top][bottom][index][help] */