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.
5 #ifndef CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_DEVICE_DISABLED_SCREEN_H_
6 #define CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_DEVICE_DISABLED_SCREEN_H_
8 #include "base/macros.h"
9 #include "chrome/browser/chromeos/login/screens/base_screen.h"
10 #include "chrome/browser/chromeos/login/screens/device_disabled_screen_actor.h"
11 #include "chrome/browser/chromeos/system/device_disabling_manager.h"
16 class DeviceDisablingManager
;
19 class BaseScreenDelegate
;
21 // Screen informing the user that the device has been disabled by its owner.
22 class DeviceDisabledScreen
: public BaseScreen
,
23 public DeviceDisabledScreenActor::Delegate
,
24 public system::DeviceDisablingManager::Observer
{
26 DeviceDisabledScreen(BaseScreenDelegate
* base_screen_delegate
,
27 DeviceDisabledScreenActor
* actor
);
28 ~DeviceDisabledScreen() override
;
31 void PrepareToShow() override
;
34 std::string
GetName() const override
;
36 // DeviceDisabledScreenActor::Delegate:
37 void OnActorDestroyed(DeviceDisabledScreenActor
* actor
) override
;
38 const std::string
& GetEnrollmentDomain() const override
;
39 const std::string
& GetMessage() const override
;
41 // system::DeviceDisablingManager::Observer:
42 void OnDisabledMessageChanged(const std::string
& disabled_message
) override
;
45 DeviceDisabledScreenActor
* actor_
;
46 system::DeviceDisablingManager
* device_disabling_manager_
;
48 // Whether the screen is currently showing.
51 DISALLOW_COPY_AND_ASSIGN(DeviceDisabledScreen
);
54 } // namespace chromeos
56 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_DEVICE_DISABLED_SCREEN_H_