1*6777b538SAndroid Build Coastguard Worker // Copyright 2017 The Chromium Authors 2*6777b538SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 3*6777b538SAndroid Build Coastguard Worker // found in the LICENSE file. 4*6777b538SAndroid Build Coastguard Worker 5*6777b538SAndroid Build Coastguard Worker #ifndef BASE_VERSION_INFO_CHANNEL_H_ 6*6777b538SAndroid Build Coastguard Worker #define BASE_VERSION_INFO_CHANNEL_H_ 7*6777b538SAndroid Build Coastguard Worker 8*6777b538SAndroid Build Coastguard Worker #include <string_view> 9*6777b538SAndroid Build Coastguard Worker 10*6777b538SAndroid Build Coastguard Worker #include "base/notreached.h" 11*6777b538SAndroid Build Coastguard Worker 12*6777b538SAndroid Build Coastguard Worker namespace version_info { 13*6777b538SAndroid Build Coastguard Worker 14*6777b538SAndroid Build Coastguard Worker // The possible channels for an installation, from most fun to most stable. 15*6777b538SAndroid Build Coastguard Worker // GENERATED_JAVA_ENUM_PACKAGE: org.chromium.base.version_info 16*6777b538SAndroid Build Coastguard Worker enum class Channel { 17*6777b538SAndroid Build Coastguard Worker UNKNOWN = 0, 18*6777b538SAndroid Build Coastguard Worker // DEFAULT is an alias for UNKNOWN because the build files use DEFAULT but the 19*6777b538SAndroid Build Coastguard Worker // code uses UNKNOWN. TODO(paulmiller): Combine DEFAULT & UNKNOWN. 20*6777b538SAndroid Build Coastguard Worker DEFAULT = UNKNOWN, 21*6777b538SAndroid Build Coastguard Worker CANARY = 1, 22*6777b538SAndroid Build Coastguard Worker DEV = 2, 23*6777b538SAndroid Build Coastguard Worker BETA = 3, 24*6777b538SAndroid Build Coastguard Worker STABLE = 4, 25*6777b538SAndroid Build Coastguard Worker }; 26*6777b538SAndroid Build Coastguard Worker 27*6777b538SAndroid Build Coastguard Worker // Returns a string equivalent of |channel|, independent of whether the build 28*6777b538SAndroid Build Coastguard Worker // is branded or not and without any additional modifiers. GetChannelString(Channel channel)29*6777b538SAndroid Build Coastguard Workerconstexpr std::string_view GetChannelString(Channel channel) { 30*6777b538SAndroid Build Coastguard Worker switch (channel) { 31*6777b538SAndroid Build Coastguard Worker case Channel::STABLE: 32*6777b538SAndroid Build Coastguard Worker return "stable"; 33*6777b538SAndroid Build Coastguard Worker case Channel::BETA: 34*6777b538SAndroid Build Coastguard Worker return "beta"; 35*6777b538SAndroid Build Coastguard Worker case Channel::DEV: 36*6777b538SAndroid Build Coastguard Worker return "dev"; 37*6777b538SAndroid Build Coastguard Worker case Channel::CANARY: 38*6777b538SAndroid Build Coastguard Worker return "canary"; 39*6777b538SAndroid Build Coastguard Worker case Channel::UNKNOWN: 40*6777b538SAndroid Build Coastguard Worker return "unknown"; 41*6777b538SAndroid Build Coastguard Worker } 42*6777b538SAndroid Build Coastguard Worker NOTREACHED_NORETURN(); 43*6777b538SAndroid Build Coastguard Worker } 44*6777b538SAndroid Build Coastguard Worker 45*6777b538SAndroid Build Coastguard Worker } // namespace version_info 46*6777b538SAndroid Build Coastguard Worker 47*6777b538SAndroid Build Coastguard Worker #endif // BASE_VERSION_INFO_CHANNEL_H_ 48