blob: 888eb37af54f5aa8127d2620b0c8b4dbe397328a [file] [log] [blame]
// Copyright 2018 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.
#ifndef ASH_LOGIN_LOGIN_SCREEN_CONTROLLER_OBSERVER_H_
#define ASH_LOGIN_LOGIN_SCREEN_CONTROLLER_OBSERVER_H_
#include "ash/ash_export.h"
#include "ash/public/interfaces/login_screen.mojom.h"
#include "ash/public/interfaces/user_info.mojom.h"
class AccountId;
namespace ash {
// Interface used by LoginScreenController when some events have been received
// from another process, ie, chrome.
class ASH_EXPORT LoginScreenControllerObserver {
public:
virtual ~LoginScreenControllerObserver();
// Called when |avatar| for |account_id| has changed.
virtual void SetAvatarForUser(const AccountId& account_id,
const mojom::UserAvatarPtr& avatar);
// Called when focus is leaving a lock screen app window due to tabbing.
// |reverse| - whether the tab order is reversed.
virtual void OnFocusLeavingLockScreenApps(bool reverse);
// Called when the state of the OOBE dialog is changed.
virtual void OnOobeDialogStateChanged(mojom::OobeDialogState state);
};
} // namespace ash
#endif // ASH_LOGIN_LOGIN_SCREEN_CONTROLLER_OBSERVER_H_