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_ENROLLMENT_AUTO_ENROLLMENT_CHECK_SCREEN_ACTOR_H_
6#define CHROME_BROWSER_CHROMEOS_LOGIN_ENROLLMENT_AUTO_ENROLLMENT_CHECK_SCREEN_ACTOR_H_
7
8namespace chromeos {
9
10// Interface between auto-enrollment check screen and its representation.
11// Note, do not forget to call OnActorDestroyed in the dtor.
12class AutoEnrollmentCheckScreenActor {
13 public:
14  // Allows us to get info from auto-enrollment check screen that we need.
15  class Delegate {
16   public:
17    virtual ~Delegate() {}
18
19    // Called when screen is exited.
20    virtual void OnExit() = 0;
21
22    // This method is called, when actor is being destroyed. Note, if Delegate
23    // is destroyed earlier then it has to call SetDelegate(NULL).
24    virtual void OnActorDestroyed(AutoEnrollmentCheckScreenActor* actor) = 0;
25  };
26
27  virtual ~AutoEnrollmentCheckScreenActor() {}
28
29  virtual void Show() = 0;
30  virtual void SetDelegate(Delegate* delegate) = 0;
31};
32
33}  // namespace chromeos
34
35#endif  // CHROME_BROWSER_CHROMEOS_LOGIN_ENROLLMENT_AUTO_ENROLLMENT_CHECK_SCREEN_ACTOR_H_
36