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 |