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#include "chrome/browser/chromeos/login/screens/reset_screen.h"
6
7#include "base/logging.h"
8#include "chrome/browser/chromeos/login/screens/screen_observer.h"
9#include "chrome/browser/chromeos/login/wizard_controller.h"
10
11namespace chromeos {
12
13ResetScreen::ResetScreen(ScreenObserver* observer, ResetScreenActor* actor)
14    : WizardScreen(observer), actor_(actor) {
15  DCHECK(actor_);
16  if (actor_)
17    actor_->SetDelegate(this);
18}
19
20ResetScreen::~ResetScreen() {
21  if (actor_)
22    actor_->SetDelegate(NULL);
23}
24
25void ResetScreen::PrepareToShow() {
26  if (actor_)
27    actor_->PrepareToShow();
28}
29
30void ResetScreen::Show() {
31  if (actor_)
32    actor_->Show();
33}
34
35void ResetScreen::Hide() {
36  if (actor_)
37    actor_->Hide();
38}
39
40std::string ResetScreen::GetName() const {
41  return WizardController::kResetScreenName;
42}
43
44void ResetScreen::OnExit() {
45  get_screen_observer()->OnExit(ScreenObserver::RESET_CANCELED);
46}
47
48void ResetScreen::OnActorDestroyed(ResetScreenActor* actor) {
49  if (actor_ == actor)
50    actor_ = NULL;
51}
52
53}  // namespace chromeos
54