Index: chrome/browser/chromeos/login/screens/reset_screen.h |
diff --git a/chrome/browser/chromeos/login/screens/reset_screen.h b/chrome/browser/chromeos/login/screens/reset_screen.h |
index 92d1bb00bdff20d3ae452ae9fc7e70fad711b90d..8fb87dbd69eee98fcbf3ab50519128c8dc050cff 100644 |
--- a/chrome/browser/chromeos/login/screens/reset_screen.h |
+++ b/chrome/browser/chromeos/login/screens/reset_screen.h |
@@ -1,4 +1,4 @@ |
-// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
+// Copyright (c) 2014 The Chromium Authors. All rights reserved. |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
@@ -7,32 +7,65 @@ |
#include <string> |
-#include "base/basictypes.h" |
#include "base/compiler_specific.h" |
-#include "chrome/browser/chromeos/login/screens/base_screen.h" |
-#include "chrome/browser/chromeos/login/screens/reset_screen_actor.h" |
+#include "base/memory/ref_counted.h" |
+#include "base/memory/weak_ptr.h" |
+#include "chrome/browser/chromeos/login/help_app_launcher.h" |
+#include "chrome/browser/chromeos/login/screens/reset_model.h" |
+#include "chromeos/dbus/update_engine_client.h" |
+ |
namespace chromeos { |
+class ErrorScreen; |
+class ResetView; |
+ |
// Representation independent class that controls screen showing reset to users. |
-class ResetScreen : public BaseScreen, public ResetScreenActor::Delegate { |
+class ResetScreen : public ResetModel, |
+ public UpdateEngineClient::Observer { |
public: |
ResetScreen(BaseScreenDelegate* base_screen_delegate, |
- ResetScreenActor* actor); |
+ ResetView* view); |
~ResetScreen() override; |
- // BaseScreen implementation: |
+ // ResetModel implementation: |
void PrepareToShow() override; |
void Show() override; |
void Hide() override; |
- std::string GetName() const override; |
+ void OnViewDestroyed(ResetView* view) override; |
+ void OnUserAction(const std::string& action_id) override; |
+ |
+ // UpdateEngineClient::Observer implementation: |
+ void UpdateStatusChanged(const UpdateEngineClient::Status& status) override; |
- // ResetScreenActor::Delegate implementation: |
- void OnExit() override; |
- void OnActorDestroyed(ResetScreenActor* actor) override; |
+ void OnRollbackCheck(bool can_rollback); |
private: |
- ResetScreenActor* actor_; |
+ |
+ enum State { |
+ STATE_RESTART_REQUIRED = 0, |
+ STATE_REVERT_PROMISE, |
+ STATE_POWERWASH_PROPOSAL, |
+ STATE_ERROR |
+ }; |
+ |
+ void OnCancel(); |
+ void OnPowerwash(); |
+ void OnRestart(); |
+ void OnToggleRollback(); |
+ void OnShowConfirm(); |
+ void OnLearnMore(); |
+ void OnConfirmationDismissed(); |
+ |
+ // Returns an instance of the error screen. |
+ ErrorScreen* GetErrorScreen(); |
+ |
+ ResetView* view_; |
+ |
+ // Help application used for help dialogs. |
+ scoped_refptr<HelpAppLauncher> help_app_; |
+ |
+ base::WeakPtrFactory<ResetScreen> weak_ptr_factory_; |
DISALLOW_COPY_AND_ASSIGN(ResetScreen); |
}; |