1// Copyright 2014 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 ASH_SYSTEM_CHROMEOS_MULTI_USER_MULTI_USER_SWITCH_UTIL_H_
6#define ASH_SYSTEM_CHROMEOS_MULTI_USER_MULTI_USER_SWITCH_UTIL_H_
7
8#include "ash/ash_export.h"
9#include "base/callback.h"
10
11namespace ash {
12
13// Tries to switch to a new user by first checking if desktop casting / sharing
14// is going on, and let the user decide if he wants to terminate it or not.
15// After terminating any desktop sharing operations, the |switch_user| function
16// will be called.
17void ASH_EXPORT TrySwitchingActiveUser(
18    const base::Callback<void()> switch_user);
19
20// Terminates the "DesktopCastingWarning" dialog from a unit tests and |accept|s
21// it. False will be returned if there was no dialog shown.
22bool ASH_EXPORT TestAndTerminateDesktopCastingWarningForTest(bool accept);
23
24}  // namespace chromeos
25
26#endif  // ASH_SYSTEM_CHROMEOS_MULTI_USER_MULTI_USER_SWITCH_UTIL_H_
27