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