olivierrobin | c3dfc5b | 2015-04-07 19:12:00 | [diff] [blame] | 1 | // Copyright 2015 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 | |
sdefresne | 55c9576 | 2015-09-22 18:30:35 | [diff] [blame] | 5 | #include "components/metrics/net/version_utils.h" |
olivierrobin | c3dfc5b | 2015-04-07 19:12:00 | [diff] [blame] | 6 | |
| 7 | #include "base/logging.h" |
sdefresne | 0131ca2 | 2015-09-28 12:16:15 | [diff] [blame^] | 8 | #include "build/build_config.h" |
sdefresne | 9fb6769 | 2015-08-03 18:48:22 | [diff] [blame] | 9 | #include "components/version_info/version_info.h" |
olivierrobin | c3dfc5b | 2015-04-07 19:12:00 | [diff] [blame] | 10 | |
| 11 | namespace metrics { |
| 12 | |
| 13 | std::string GetVersionString() { |
sdefresne | 0131ca2 | 2015-09-28 12:16:15 | [diff] [blame^] | 14 | std::string version = version_info::GetVersionNumber(); |
olivierrobin | c3dfc5b | 2015-04-07 19:12:00 | [diff] [blame] | 15 | #if defined(ARCH_CPU_64_BITS) |
| 16 | version += "-64"; |
| 17 | #endif // defined(ARCH_CPU_64_BITS) |
sdefresne | 0131ca2 | 2015-09-28 12:16:15 | [diff] [blame^] | 18 | if (!version_info::IsOfficialBuild()) |
olivierrobin | c3dfc5b | 2015-04-07 19:12:00 | [diff] [blame] | 19 | version.append("-devel"); |
| 20 | return version; |
| 21 | } |
| 22 | |
| 23 | SystemProfileProto::Channel AsProtobufChannel( |
sdefresne | 6e883e4 | 2015-07-30 08:05:54 | [diff] [blame] | 24 | version_info::Channel channel) { |
olivierrobin | c3dfc5b | 2015-04-07 19:12:00 | [diff] [blame] | 25 | switch (channel) { |
sdefresne | 6e883e4 | 2015-07-30 08:05:54 | [diff] [blame] | 26 | case version_info::Channel::UNKNOWN: |
olivierrobin | c3dfc5b | 2015-04-07 19:12:00 | [diff] [blame] | 27 | return SystemProfileProto::CHANNEL_UNKNOWN; |
sdefresne | 6e883e4 | 2015-07-30 08:05:54 | [diff] [blame] | 28 | case version_info::Channel::CANARY: |
olivierrobin | c3dfc5b | 2015-04-07 19:12:00 | [diff] [blame] | 29 | return SystemProfileProto::CHANNEL_CANARY; |
sdefresne | 6e883e4 | 2015-07-30 08:05:54 | [diff] [blame] | 30 | case version_info::Channel::DEV: |
olivierrobin | c3dfc5b | 2015-04-07 19:12:00 | [diff] [blame] | 31 | return SystemProfileProto::CHANNEL_DEV; |
sdefresne | 6e883e4 | 2015-07-30 08:05:54 | [diff] [blame] | 32 | case version_info::Channel::BETA: |
olivierrobin | c3dfc5b | 2015-04-07 19:12:00 | [diff] [blame] | 33 | return SystemProfileProto::CHANNEL_BETA; |
sdefresne | 6e883e4 | 2015-07-30 08:05:54 | [diff] [blame] | 34 | case version_info::Channel::STABLE: |
olivierrobin | c3dfc5b | 2015-04-07 19:12:00 | [diff] [blame] | 35 | return SystemProfileProto::CHANNEL_STABLE; |
| 36 | } |
| 37 | NOTREACHED(); |
| 38 | return SystemProfileProto::CHANNEL_UNKNOWN; |
| 39 | } |
| 40 | |
| 41 | } // namespace metrics |