| 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);
|
| };
|
|
|