Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / chromeos / login / screens / hid_detection_screen_actor.h
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 CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_HID_DETECTION_SCREEN_ACTOR_H_
6 #define CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_HID_DETECTION_SCREEN_ACTOR_H_
7
8 #include <string>
9
10 namespace chromeos {
11
12 // Interface between HID detection screen and its representation.
13 // Note, do not forget to call OnActorDestroyed in the dtor.
14 class HIDDetectionScreenActor {
15  public:
16   // Allows us to get info from HID detection screen that we need.
17   class Delegate {
18    public:
19     virtual ~Delegate() {}
20
21     // Called when screen is exited.
22     virtual void OnExit() = 0;
23
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(HIDDetectionScreenActor* actor) = 0;
27   };
28
29   virtual ~HIDDetectionScreenActor() {}
30
31   virtual void Show() = 0;
32   virtual void Hide() = 0;
33   virtual void SetDelegate(Delegate* delegate) = 0;
34 };
35
36 }  // namespace chromeos
37
38 #endif  // CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_HID_DETECTION_SCREEN_ACTOR_H_
39