#include "chrome/browser/chromeos/policy/server_backed_device_state.h"
+#include <string>
+
+#include "base/logging.h"
+#include "base/prefs/pref_service.h"
+#include "base/values.h"
+#include "chrome/browser/browser_process.h"
+#include "chrome/browser/browser_process_platform_part.h"
+#include "chrome/common/pref_names.h"
+
namespace policy {
const char kDeviceStateManagementDomain[] = "management_domain";
const char kDeviceStateRestoreMode[] = "device_mode";
+const char kDeviceStateDisabledMessage[] = "disabled_message";
const char kDeviceStateRestoreModeReEnrollmentRequested[] =
"re-enrollment-requested";
const char kDeviceStateRestoreModeReEnrollmentEnforced[] =
"re-enrollment-enforced";
+const char kDeviceStateRestoreModeDisabled[] = "disabled";
+
+RestoreMode GetRestoreMode() {
+ std::string restore_mode;
+ g_browser_process->local_state()->GetDictionary(
+ prefs::kServerBackedDeviceState)->GetString(kDeviceStateRestoreMode,
+ &restore_mode);
+ if (restore_mode.empty())
+ return RESTORE_MODE_NONE;
+ if (restore_mode == kDeviceStateRestoreModeReEnrollmentRequested)
+ return RESTORE_MODE_REENROLLMENT_REQUESTED;
+ if (restore_mode == kDeviceStateRestoreModeReEnrollmentEnforced)
+ return RESTORE_MODE_REENROLLMENT_ENFORCED;
+ if (restore_mode == kDeviceStateRestoreModeDisabled)
+ return RESTORE_MODE_DISABLED;
+
+ NOTREACHED();
+ return RESTORE_MODE_NONE;
+}
} // namespace policy