Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / chrome / browser / chromeos / login / screens / enable_debugging_screen_actor.h
blob2b1592f22f01cfcba6fdb3b6d4dd943e4a74581c
1 // Copyright (c) 2012 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_ENABLE_DEBUGGING_SCREEN_ACTOR_H_
6 #define CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_ENABLE_DEBUGGING_SCREEN_ACTOR_H_
8 #include <string>
10 namespace chromeos {
12 // Interface between enable debugging screen and its representation.
13 // Note, do not forget to call OnActorDestroyed in the dtor.
14 class EnableDebuggingScreenActor {
15 public:
16 // Allows us to get info from reset screen that we need.
17 class Delegate {
18 public:
19 virtual ~Delegate() {}
21 // Called when screen is exited.
22 virtual void OnExit(bool success) = 0;
24 // This method is called, when actor is being destroyed. Note, if Delegate
25 // is destroyed earlier then it has to call SetDelegate(NULL).
26 virtual void OnActorDestroyed(EnableDebuggingScreenActor* actor) = 0;
29 virtual ~EnableDebuggingScreenActor() {}
31 virtual void PrepareToShow() = 0;
32 virtual void Show() = 0;
33 virtual void Hide() = 0;
34 virtual void SetDelegate(Delegate* delegate) = 0;
37 } // namespace chromeos
39 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_ENABLE_DEBUGGING_SCREEN_ACTOR_H_