wrong_hwid_screen.h revision c2e0dbddbe15c98d52c4786dac06cb8952a8ae6d
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#ifndef CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_WRONG_HWID_SCREEN_H_
6#define CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_WRONG_HWID_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/wizard_screen.h"
13#include "chrome/browser/chromeos/login/screens/wrong_hwid_screen_actor.h"
14
15namespace chromeos {
16
17// Representation independent class that controls screen showing warning about
18// malformed HWID to users.
19class WrongHWIDScreen : public WizardScreen,
20                        public WrongHWIDScreenActor::Delegate {
21 public:
22  WrongHWIDScreen(ScreenObserver* observer, WrongHWIDScreenActor* actor);
23  virtual ~WrongHWIDScreen();
24
25  // WizardScreen implementation:
26  virtual void PrepareToShow() OVERRIDE;
27  virtual void Show() OVERRIDE;
28  virtual void Hide() OVERRIDE;
29  virtual std::string GetName() const OVERRIDE;
30
31  // WrongHWIDScreenActor::Delegate implementation:
32  virtual void OnExit() OVERRIDE;
33  virtual void OnActorDestroyed(WrongHWIDScreenActor* actor) OVERRIDE;
34
35 private:
36  WrongHWIDScreenActor* actor_;
37
38  DISALLOW_COPY_AND_ASSIGN(WrongHWIDScreen);
39};
40
41}  // namespace chromeos
42
43#endif  // CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_WRONG_HWID_SCREEN_H_
44
45