1 // Copyright (c) 2012 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_RESET_SCREEN_H_ 6 #define CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_RESET_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/reset_screen_actor.h" 13 #include "chrome/browser/chromeos/login/screens/wizard_screen.h" 14 15 namespace chromeos { 16 17 // Representation independent class that controls screen showing reset to users. 18 class ResetScreen : public WizardScreen, 19 public ResetScreenActor::Delegate { 20 public: 21 ResetScreen(ScreenObserver* observer, ResetScreenActor* actor); 22 virtual ~ResetScreen(); 23 24 // WizardScreen implementation: 25 virtual void PrepareToShow() OVERRIDE; 26 virtual void Show() OVERRIDE; 27 virtual void Hide() OVERRIDE; 28 virtual std::string GetName() const OVERRIDE; 29 30 // ResetScreenActor::Delegate implementation: 31 virtual void OnExit() OVERRIDE; 32 virtual void OnActorDestroyed(ResetScreenActor* actor) OVERRIDE; 33 34 private: 35 ResetScreenActor* actor_; 36 37 DISALLOW_COPY_AND_ASSIGN(ResetScreen); 38 }; 39 40 } // namespace chromeos 41 42 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_RESET_SCREEN_H_ 43