blob: befb9bdc2c9b6e40c9532100e6b4bbeae25c5a9f [file] [log] [blame]
// Copyright (c) 2014 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.
#ifndef CHROME_BROWSER_CHROMEOS_POLICY_SERVER_BACKED_DEVICE_STATE_H_
#define CHROME_BROWSER_CHROMEOS_POLICY_SERVER_BACKED_DEVICE_STATE_H_
namespace policy {
// Dictionary key constants for prefs::kServerBackedDeviceState.
extern const char kDeviceStateManagementDomain[];
extern const char kDeviceStateMode[];
extern const char kDeviceStateDisabledMessage[];
// String constants used to persist the restorative action in the
// kDeviceStateMode dictionary entry.
extern const char kDeviceStateRestoreModeReEnrollmentRequested[];
extern const char kDeviceStateRestoreModeReEnrollmentEnforced[];
extern const char kDeviceStateRestoreModeDisabled[];
extern const char kDeviceStateRestoreModeReEnrollmentZeroTouch[];
// The following constants are for an initial action but we do still use
// the same dictionary entry.
extern const char kDeviceStateInitialModeEnrollmentEnforced[];
extern const char kDeviceStateInitialModeEnrollmentZeroTouch[];
// Mode that a device needs to start in.
enum DeviceStateMode {
// No state restoration.
RESTORE_MODE_NONE = 0,
// Enterprise re-enrollment requested, but user may skip.
RESTORE_MODE_REENROLLMENT_REQUESTED = 1,
// Enterprise re-enrollment is enforced and cannot be skipped.
RESTORE_MODE_REENROLLMENT_ENFORCED = 2,
// The device has been disabled by its owner. The device will show a warning
// screen and prevent the user from proceeding further.
RESTORE_MODE_DISABLED = 3,
// Enterprise re-enrollment is enforced using Zero-Touch and cannot be
// skipped.
RESTORE_MODE_REENROLLMENT_ZERO_TOUCH = 4,
// Enterprise initial enrollment is enforced and cannot be skipped.
INITIAL_MODE_ENROLLMENT_ENFORCED = 5,
// Enterprise initial enrollment is enforced and cannot be skipped.
INITIAL_MODE_ENROLLMENT_ZERO_TOUCH = 6,
};
// Parses the contents of the kDeviceStateMode dictionary entry and
// returns it as a DeviceStateMode.
DeviceStateMode GetDeviceStateMode();
} // namespace policy
#endif // CHROME_BROWSER_CHROMEOS_POLICY_SERVER_BACKED_DEVICE_STATE_H_