Chromium Code Reviews| Index: chrome/browser/chromeos/login/screens/network_error_model.cc |
| diff --git a/chrome/browser/chromeos/login/screens/network_error_model.cc b/chrome/browser/chromeos/login/screens/network_error_model.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..66f5923e73220a24739fdd32f67aa38373796832 |
| --- /dev/null |
| +++ b/chrome/browser/chromeos/login/screens/network_error_model.cc |
| @@ -0,0 +1,89 @@ |
| +// Copyright 2015 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. |
| + |
| +#include "chrome/browser/chromeos/login/screens/network_error_model.h" |
| + |
| +#include "chrome/browser/chromeos/login/wizard_controller.h" |
| + |
| +namespace chromeos { |
| + |
| +const char NetworkErrorModel::kContextKeyErrorStateCode[] = "error-state-code"; |
| +const char NetworkErrorModel::kContextKeyErrorStateNetwork[] = |
| + "error-state-network"; |
| +const char NetworkErrorModel::kContextKeyGuestSigninAllowed[] = |
| + "guest-signin-allowed"; |
| +const char NetworkErrorModel::kContextKeyOfflineSigninAllowed[] = |
| + "offline-signin-allowed"; |
| +const char NetworkErrorModel::kContextKeyShowConnectingIndicator[] = |
| + "show-connecting-indicator"; |
| +const char NetworkErrorModel::kContextKeyUIState[] = "ui-state"; |
| +const char NetworkErrorModel::kUserActionConfigureCertsButtonClicked[] = |
| + "configure-certs"; |
| +const char NetworkErrorModel::kUserActionDiagnoseButtonClicked[] = "diagnose"; |
| +const char NetworkErrorModel::kUserActionLaunchOobeGuestSessionClicked[] = |
| + "launch-oobe-guest"; |
| +const char |
| + NetworkErrorModel::kUserActionLocalStateErrorPowerwashButtonClicked[] = |
| + "local-state-error-powerwash"; |
| +const char NetworkErrorModel::kUserActionRebootButtonClicked[] = "reboot"; |
| +const char NetworkErrorModel::kUserActionShowCaptivePortalClicked[] = |
| + "show-captive-portal"; |
| + |
| +NetworkErrorModel::NetworkErrorModel(BaseScreenDelegate* base_screen_delegate) |
| + : BaseScreen(base_screen_delegate), |
| + ui_state_(NetworkError::UI_STATE_UNKNOWN), |
| + error_state_(NetworkError::ERROR_STATE_UNKNOWN), |
| + parent_screen_(OobeUI::SCREEN_UNKNOWN) { |
| +} |
| + |
| +NetworkErrorModel::~NetworkErrorModel() { |
| +} |
| + |
| +std::string NetworkErrorModel::GetName() const { |
| + return WizardController::kErrorScreenName; |
| +} |
| + |
| +void NetworkErrorModel::OnHide() { |
| + if (on_hide_) { |
| + on_hide_->Run(); |
| + on_hide_.reset(); |
| + } |
| +} |
|
Denis Kuznetsov (DE-MUC)
2015/02/10 17:03:26
Why is not it purely abstract?
I mean, I believe
Nikita (slow)
2015/02/11 12:18:58
Done.
|
| + |
| +void NetworkErrorModel::AllowGuestSignin(bool allowed) { |
| + GetContextEditor().SetBoolean(kContextKeyGuestSigninAllowed, allowed); |
| +} |
| + |
| +void NetworkErrorModel::AllowOfflineLogin(bool allowed) { |
| + GetContextEditor().SetBoolean(kContextKeyOfflineSigninAllowed, allowed); |
| +} |
| + |
| +void NetworkErrorModel::SetUIState(NetworkError::UIState ui_state) { |
| + ui_state_ = ui_state; |
| + GetContextEditor().SetInteger(kContextKeyUIState, |
| + static_cast<int>(ui_state_)); |
| +} |
| + |
| +void NetworkErrorModel::SetErrorState(NetworkError::ErrorState error_state, |
| + const std::string& network) { |
| + error_state_ = error_state; |
| + GetContextEditor() |
| + .SetInteger(kContextKeyErrorStateCode, static_cast<int>(error_state_)) |
| + .SetString(kContextKeyErrorStateNetwork, network); |
| +} |
| + |
| +void NetworkErrorModel::SetParentScreen(OobeUI::Screen parent_screen) { |
| + parent_screen_ = parent_screen; |
| + // Not really used on JS side yet so no need to propagate to screen context. |
| +} |
| + |
| +void NetworkErrorModel::SetHideCallback(const base::Closure& on_hide) { |
| + on_hide_.reset(new base::Closure(on_hide)); |
| +} |
| + |
| +void NetworkErrorModel::ShowConnectingIndicator(bool show) { |
| + GetContextEditor().SetBoolean(kContextKeyShowConnectingIndicator, show); |
| +} |
| + |
| +} // namespace chromeos |