blob: d81a28c95f0fd0609df9938b31058296cc3eeb9e [file] [log] [blame]
// Copyright 2017 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_LOGIN_SCREENS_SCREEN_EXIT_CODE_H_
#define CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_SCREEN_EXIT_CODE_H_
#include <string>
namespace chromeos {
// Each login screen or a view shown within login wizard view is itself a
// state. Upon exit each view returns one of the results by calling
// the BaseScreenDelegate::OnExit() method. Depending on the result and the
// current view or state the login wizard decides what is the next view to show.
//
// There must be an exit code for each way to exit the screen for each screen.
//
// Numeric ids are provided to facilitate interpretation of log files only,
// they are subject to change without notice.
enum class ScreenExitCode {
// "Continue" was pressed on welcome screen.
WELCOME_CONTINUED = 0,
HID_DETECTION_COMPLETED = 1,
// Connection failed while trying to load a WebPageScreen.
CONNECTION_FAILED = 2,
UPDATE_INSTALLED = 3,
// This exit code means EITHER that there was no update, OR that there
// was an update, but that it was not a "critical" update. "Critical" updates
// are those that have a deadline and require the device to reboot.
UPDATE_NOUPDATE = 4,
UPDATE_ERROR_CHECKING_FOR_UPDATE = 5,
UPDATE_ERROR_UPDATING = 6,
USER_IMAGE_SELECTED = 7,
EULA_ACCEPTED = 8,
EULA_BACK = 9,
ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED = 10,
ENTERPRISE_ENROLLMENT_COMPLETED = 11,
ENTERPRISE_ENROLLMENT_BACK = 12,
RESET_CANCELED = 13,
KIOSK_AUTOLAUNCH_CANCELED = 14,
KIOSK_AUTOLAUNCH_CONFIRMED = 15,
KIOSK_ENABLE_COMPLETED = 16,
TERMS_OF_SERVICE_DECLINED = 17,
TERMS_OF_SERVICE_ACCEPTED = 18,
WRONG_HWID_WARNING_SKIPPED = 19,
CONTROLLER_PAIRING_FINISHED = 20,
ENABLE_DEBUGGING_FINISHED = 21,
ENABLE_DEBUGGING_CANCELED = 22,
ARC_TERMS_OF_SERVICE_SKIPPED = 23,
ARC_TERMS_OF_SERVICE_ACCEPTED = 24,
UPDATE_ERROR_UPDATING_CRITICAL_UPDATE = 25,
ENCRYPTION_MIGRATION_FINISHED = 26,
ENCRYPTION_MIGRATION_SKIPPED = 27,
VOICE_INTERACTION_VALUE_PROP_SKIPPED = 28,
VOICE_INTERACTION_VALUE_PROP_ACCEPTED = 29,
WAIT_FOR_CONTAINER_READY_FINISHED = 30,
WAIT_FOR_CONTAINER_READY_ERROR = 31,
SYNC_CONSENT_FINISHED = 32,
DEMO_MODE_SETUP_FINISHED = 33,
DEMO_MODE_SETUP_CANCELED = 34,
RECOMMEND_APPS_SKIPPED = 35,
RECOMMEND_APPS_SELECTED = 36,
DEMO_MODE_PREFERENCES_CONTINUED = 37,
DEMO_MODE_PREFERENCES_CANCELED = 38,
APP_DOWNLOADING_FINISHED = 39,
ARC_TERMS_OF_SERVICE_BACK = 40,
DISCOVER_FINISHED = 41,
NETWORK_BACK = 42,
NETWORK_CONNECTED = 43,
NETWORK_OFFLINE_DEMO_SETUP = 44,
FINGERPRINT_SETUP_FINISHED = 45,
MARKETING_OPT_IN_FINISHED = 46,
ASSISTANT_OPTIN_FLOW_FINISHED = 47,
MULTIDEVICE_SETUP_FINISHED = 48,
UPDATE_REJECT_OVER_CELLULAR = 49,
SUPERVISION_TRANSITION_FINISHED = 50,
EXIT_CODES_COUNT // not a real code, must be the last
};
std::string ExitCodeToString(ScreenExitCode code);
} // namespace chromeos
#endif // CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_SCREEN_EXIT_CODE_H_