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