#ifndef CHROME_BROWSER_CHROMEOS_LOGIN_ENROLLMENT_AUTO_ENROLLMENT_CONTROLLER_H_
#define CHROME_BROWSER_CHROMEOS_LOGIN_ENROLLMENT_AUTO_ENROLLMENT_CONTROLLER_H_
+#include <string>
+#include <vector>
+
#include "base/callback_list.h"
#include "base/macros.h"
#include "base/memory/scoped_ptr.h"
#include "chrome/browser/chromeos/policy/auto_enrollment_client.h"
#include "chrome/browser/chromeos/settings/device_settings_service.h"
+namespace policy {
+class ServerBackedStateKeysBroker;
+}
+
namespace chromeos {
// Drives the auto-enrollment check, running an AutoEnrollmentClient if
void OnOwnershipStatusCheckDone(
DeviceSettingsService::OwnershipStatus status);
+ // Starts the auto-enrollment client.
+ void StartClient(const std::vector<std::string>& state_keys);
+
// Sets |state_| and notifies |progress_callbacks_|.
void UpdateState(policy::AutoEnrollmentState state);
policy::AutoEnrollmentState state_;
ProgressCallbackList progress_callbacks_;
- base::WeakPtrFactory<AutoEnrollmentController> weak_factory_;
+ base::WeakPtrFactory<AutoEnrollmentController> client_start_weak_factory_;
scoped_ptr<policy::AutoEnrollmentClient> client_;