1 // Copyright 2019 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef ASH_PUBLIC_CPP_UPDATE_TYPES_H_
6 #define ASH_PUBLIC_CPP_UPDATE_TYPES_H_
7 
8 namespace ash {
9 
10 // Urgency of a pending software update. Sets the system tray update icon color.
11 // These correspond to values in UpgradeDetector's
12 // UpgradeNotificationAnnoyanceLevel enum. Their use is platform-specific. On
13 // Chrome OS, kLow severity is issued when an update is detected. kElevated
14 // follows after two days, and kHigh two days after that. These time deltas may
15 // be overridden by administrators via the RelaunchNotificationPeriod policy
16 // setting.
17 // TODO(jamescook): UpgradeDetector::UpgradeNotificationAnnoyanceLevel could be
18 // replaced with this if this moves into a component shared with non-ash chrome.
19 enum class UpdateSeverity {
20   kNone,
21   kVeryLow,
22   kLow,
23   kElevated,
24   kHigh,
25   kCritical,
26 };
27 
28 // The type of update being applied. Sets the string in the system tray.
29 enum class UpdateType {
30   kFlash,
31   kSystem,
32 };
33 
34 // Notification style for system updates, set by different policies.
35 enum class NotificationStyle {
36   kDefault,
37   kAdminRecommended,  // Relaunch Notification policy
38   kAdminRequired,     // Relaunch Notification policy
39 };
40 
41 }  // namespace ash
42 
43 #endif  // ASH_PUBLIC_CPP_UPDATE_TYPES_H_
44