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..3349005dcf8428fb6d6c00307afb24da77769a73 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. |
@@ -9,30 +9,63 @@ |
#include "base/basictypes.h" |
dzhioev (left Google)
2015/02/11 12:38:29
What this include is needed for?
merkulova
2015/02/11 15:07:17
Removed.
|
#include "base/compiler_specific.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/base_screen.h" |
dzhioev (left Google)
2015/02/11 12:38:29
Not needed.
merkulova
2015/02/11 15:07:17
Done.
|
-#include "chrome/browser/chromeos/login/screens/reset_screen_actor.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 OnCancel() override; |
+ void OnPowerwash() override; |
+ void OnRestart() override; |
+ void OnToggleRollback() override; |
+ void OnShowConfirm() override; |
+ void OnLearnMore() override; |
+ void OnViewDestroyed(ResetView* view) override; |
+ void OnUserAction(const std::string& action_id) override; |
- // ResetScreenActor::Delegate implementation: |
- void OnExit() override; |
- void OnActorDestroyed(ResetScreenActor* actor) override; |
+ // UpdateEngineClient::Observer implementation: |
+ void UpdateStatusChanged(const UpdateEngineClient::Status& status) override; |
+ |
+ void OnRollbackCheck(bool can_rollback); |
private: |
- ResetScreenActor* actor_; |
+ |
+ enum State { |
+ STATE_RESTART_REQUIRED = 0, |
+ STATE_REVERT_PROMISE, |
+ STATE_POWERWASH_PROPOSAL, |
+ STATE_ERROR |
+ }; |
+ |
+ // Returns an instance of the error screen. |
+ ErrorScreen* GetErrorScreen(); |
+ |
+ ResetView* view_; |
+ |
+ // Help application used for help dialogs. |
+ scoped_refptr<HelpAppLauncher> help_app_; |
dzhioev (left Google)
2015/02/11 12:38:29
Do you now why help_app_ is a scoped_refptr, and n
merkulova
2015/02/11 15:07:17
Because some other screens might use it.
dzhioev (left Google)
2015/02/12 12:51:58
First of all, help_app_ is a private field without
merkulova
2015/02/12 13:37:37
is_refcounted_type_and_needs_scoped_refptr as Help
|
+ |
+ base::WeakPtrFactory<ResetScreen> weak_ptr_factory_; |
DISALLOW_COPY_AND_ASSIGN(ResetScreen); |
}; |