1// Copyright 2014 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_HID_DETECTION_SCREEN_H_ 6#define CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_HID_DETECTION_SCREEN_H_ 7 8#include <string> 9 10#include "base/compiler_specific.h" 11#include "base/macros.h" 12#include "chrome/browser/chromeos/login/screens/hid_detection_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 warning about 18// HID absence to users. 19class HIDDetectionScreen : public WizardScreen, 20 public HIDDetectionScreenActor::Delegate { 21 public: 22 HIDDetectionScreen(ScreenObserver* observer, HIDDetectionScreenActor* actor); 23 virtual ~HIDDetectionScreen(); 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 // HIDDetectionScreenActor::Delegate implementation: 32 virtual void OnExit() OVERRIDE; 33 virtual void OnActorDestroyed(HIDDetectionScreenActor* actor) OVERRIDE; 34 35 private: 36 HIDDetectionScreenActor* actor_; 37 38 DISALLOW_COPY_AND_ASSIGN(HIDDetectionScreen); 39}; 40 41} // namespace chromeos 42 43#endif // CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_HID_DETECTION_SCREEN_H_ 44