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.
4
5#ifndef CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_RESET_SCREEN_H_
6#define CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_RESET_SCREEN_H_
7
8#include <string>
9
10#include "base/basictypes.h"
11#include "base/compiler_specific.h"
12#include "chrome/browser/chromeos/login/screens/reset_screen_actor.h"
13#include "chrome/browser/chromeos/login/screens/wizard_screen.h"
14
15namespace chromeos {
16
17// Representation independent class that controls screen showing reset to users.
18class ResetScreen : public WizardScreen,
19                    public ResetScreenActor::Delegate {
20 public:
21  ResetScreen(ScreenObserver* observer, ResetScreenActor* actor);
22  virtual ~ResetScreen();
23
24  // WizardScreen implementation:
25  virtual void PrepareToShow() OVERRIDE;
26  virtual void Show() OVERRIDE;
27  virtual void Hide() OVERRIDE;
28  virtual std::string GetName() const OVERRIDE;
29
30  // ResetScreenActor::Delegate implementation:
31  virtual void OnExit() OVERRIDE;
32  virtual void OnActorDestroyed(ResetScreenActor* actor) OVERRIDE;
33
34 private:
35  ResetScreenActor* actor_;
36
37  DISALLOW_COPY_AND_ASSIGN(ResetScreen);
38};
39
40}  // namespace chromeos
41
42#endif  // CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_RESET_SCREEN_H_
43