Index: chrome/browser/chromeos/login/enrollment/auto_enrollment_check_screen.h |
diff --git a/chrome/browser/chromeos/login/enrollment/auto_enrollment_check_step.h b/chrome/browser/chromeos/login/enrollment/auto_enrollment_check_screen.h |
similarity index 69% |
rename from chrome/browser/chromeos/login/enrollment/auto_enrollment_check_step.h |
rename to chrome/browser/chromeos/login/enrollment/auto_enrollment_check_screen.h |
index baa3931735a6afd3118e04997fbc695b54444c5f..9e96aa9641ed90d51f6c0ecdc074787ac2e3b47f 100644 |
--- a/chrome/browser/chromeos/login/enrollment/auto_enrollment_check_step.h |
+++ b/chrome/browser/chromeos/login/enrollment/auto_enrollment_check_screen.h |
@@ -2,12 +2,13 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#ifndef CHROME_BROWSER_CHROMEOS_LOGIN_ENROLLMENT_AUTO_ENROLLMENT_CHECK_STEP_H_ |
-#define CHROME_BROWSER_CHROMEOS_LOGIN_ENROLLMENT_AUTO_ENROLLMENT_CHECK_STEP_H_ |
+#ifndef CHROME_BROWSER_CHROMEOS_LOGIN_ENROLLMENT_AUTO_ENROLLMENT_CHECK_SCREEN_H_ |
+#define CHROME_BROWSER_CHROMEOS_LOGIN_ENROLLMENT_AUTO_ENROLLMENT_CHECK_SCREEN_H_ |
#include "base/compiler_specific.h" |
#include "base/macros.h" |
#include "base/memory/scoped_ptr.h" |
+#include "chrome/browser/chromeos/login/enrollment/auto_enrollment_check_screen_actor.h" |
#include "chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.h" |
#include "chrome/browser/chromeos/login/screens/error_screen.h" |
#include "chrome/browser/chromeos/net/network_portal_detector.h" |
@@ -21,16 +22,35 @@ class ScreenObserver; |
// keeping track of current auto-enrollment state and displaying and updating |
// the error screen upon failures. Similar to a screen controller, but it |
// doesn't actually drive a dedicated screen. |
-class AutoEnrollmentCheckStep : NetworkPortalDetector::Observer { |
+class AutoEnrollmentCheckScreen |
+ : public AutoEnrollmentCheckScreenActor::Delegate, |
+ public WizardScreen, |
+ public NetworkPortalDetector::Observer { |
public: |
- AutoEnrollmentCheckStep(ScreenObserver* screen_observer, |
- AutoEnrollmentController* auto_enrollment_controller); |
- virtual ~AutoEnrollmentCheckStep(); |
+ AutoEnrollmentCheckScreen( |
+ ScreenObserver* observer, |
+ AutoEnrollmentCheckScreenActor* actor); |
+ virtual ~AutoEnrollmentCheckScreen(); |
// Hands over OOBE control to this AutoEnrollmentCheckStep. It'll return the |
// flow back to the caller via the |screen_observer_|'s OnExit function. |
void Start(); |
+ void set_auto_enrollment_controller( |
+ AutoEnrollmentController* auto_enrollment_controller) { |
+ auto_enrollment_controller_ = auto_enrollment_controller; |
+ } |
+ |
+ // WizardScreen implementation: |
+ virtual void PrepareToShow() OVERRIDE; |
+ virtual void Show() OVERRIDE; |
+ virtual void Hide() OVERRIDE; |
+ virtual std::string GetName() const OVERRIDE; |
+ |
+ // AutoEnrollmentCheckScreenActor::Delegate implementation: |
+ virtual void OnExit() OVERRIDE; |
+ virtual void OnActorDestroyed(AutoEnrollmentCheckScreenActor* actor) OVERRIDE; |
+ |
// NetworkPortalDetector::Observer implementation: |
virtual void OnPortalDetectionCompleted( |
const NetworkState* network, |
@@ -62,7 +82,11 @@ class AutoEnrollmentCheckStep : NetworkPortalDetector::Observer { |
// function as the owner might destroy |this| in response. |
void SignalCompletion(); |
- ScreenObserver* screen_observer_; |
+ // Checks if the enrollment status check is needed. It can be disabled either |
+ // by command line flags, build configuration or might have finished already. |
+ bool IsStartNeeded(); |
+ |
+ AutoEnrollmentCheckScreenActor* actor_; |
AutoEnrollmentController* auto_enrollment_controller_; |
scoped_ptr<AutoEnrollmentController::ProgressCallbackList::Subscription> |
@@ -71,9 +95,9 @@ class AutoEnrollmentCheckStep : NetworkPortalDetector::Observer { |
NetworkPortalDetector::CaptivePortalStatus captive_portal_status_; |
policy::AutoEnrollmentState auto_enrollment_state_; |
- DISALLOW_COPY_AND_ASSIGN(AutoEnrollmentCheckStep); |
+ DISALLOW_COPY_AND_ASSIGN(AutoEnrollmentCheckScreen); |
}; |
} // namespace chromeos |
-#endif // CHROME_BROWSER_CHROMEOS_LOGIN_ENROLLMENT_AUTO_ENROLLMENT_CHECK_STEP_H_ |
+#endif // CHROME_BROWSER_CHROMEOS_LOGIN_ENROLLMENT_AUTO_ENROLLMENT_CHECK_SCREEN_H_ |