1// Copyright 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_KIOSK_AUTOLAUNCH_SCREEN_H_
6#define CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_KIOSK_AUTOLAUNCH_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/kiosk_autolaunch_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 auto launch
18// warning to users.
19class KioskAutolaunchScreen : public WizardScreen,
20                              public KioskAutolaunchScreenActor::Delegate {
21 public:
22  KioskAutolaunchScreen(ScreenObserver* observer,
23                        KioskAutolaunchScreenActor* actor);
24  virtual ~KioskAutolaunchScreen();
25
26  // WizardScreen implementation:
27  virtual void PrepareToShow() OVERRIDE {}
28  virtual void Show() OVERRIDE;
29  virtual void Hide() OVERRIDE {}
30  virtual std::string GetName() const OVERRIDE;
31
32  // KioskAutolaunchScreenActor::Delegate implementation:
33  virtual void OnExit(bool confirmed) OVERRIDE;
34  virtual void OnActorDestroyed(KioskAutolaunchScreenActor* actor) OVERRIDE;
35
36 private:
37  KioskAutolaunchScreenActor* actor_;
38
39  DISALLOW_COPY_AND_ASSIGN(KioskAutolaunchScreen);
40};
41
42}  // namespace chromeos
43
44#endif  // CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_KIOSK_AUTOLAUNCH_SCREEN_H_
45