| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "base/sys_info.h" | 5 #include "base/sys_info.h" |
| 6 | 6 |
| 7 #include "base/basictypes.h" | 7 #include "base/basictypes.h" |
| 8 #include "base/environment.h" | 8 #include "base/environment.h" |
| 9 #include "base/files/file.h" | 9 #include "base/files/file.h" |
| 10 #include "base/files/file_path.h" | 10 #include "base/files/file_path.h" |
| (...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 102 const SysInfo::LsbReleaseMap& lsb_release_map() const { | 102 const SysInfo::LsbReleaseMap& lsb_release_map() const { |
| 103 return lsb_release_map_; | 103 return lsb_release_map_; |
| 104 } | 104 } |
| 105 bool is_running_on_chromeos() const { return is_running_on_chromeos_; } | 105 bool is_running_on_chromeos() const { return is_running_on_chromeos_; } |
| 106 | 106 |
| 107 private: | 107 private: |
| 108 void ParseLsbRelease(const std::string& lsb_release) { | 108 void ParseLsbRelease(const std::string& lsb_release) { |
| 109 // Parse and cache lsb_release key pairs. There should only be a handful | 109 // Parse and cache lsb_release key pairs. There should only be a handful |
| 110 // of entries so the overhead for this will be small, and it can be | 110 // of entries so the overhead for this will be small, and it can be |
| 111 // useful for debugging. | 111 // useful for debugging. |
| 112 std::vector<std::pair<std::string, std::string> > pairs; | 112 base::StringPairs pairs; |
| 113 SplitStringIntoKeyValuePairs(lsb_release, '=', '\n', &pairs); | 113 SplitStringIntoKeyValuePairs(lsb_release, '=', '\n', &pairs); |
| 114 for (size_t i = 0; i < pairs.size(); ++i) { | 114 for (size_t i = 0; i < pairs.size(); ++i) { |
| 115 std::string key, value; | 115 std::string key, value; |
| 116 TrimWhitespaceASCII(pairs[i].first, TRIM_ALL, &key); | 116 TrimWhitespaceASCII(pairs[i].first, TRIM_ALL, &key); |
| 117 TrimWhitespaceASCII(pairs[i].second, TRIM_ALL, &value); | 117 TrimWhitespaceASCII(pairs[i].second, TRIM_ALL, &value); |
| 118 if (key.empty()) | 118 if (key.empty()) |
| 119 continue; | 119 continue; |
| 120 lsb_release_map_[key] = value; | 120 lsb_release_map_[key] = value; |
| 121 } | 121 } |
| 122 // Parse the version from the first matching recognized version key. | 122 // Parse the version from the first matching recognized version key. |
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 210 void SysInfo::SetChromeOSVersionInfoForTest(const std::string& lsb_release, | 210 void SysInfo::SetChromeOSVersionInfoForTest(const std::string& lsb_release, |
| 211 const Time& lsb_release_time) { | 211 const Time& lsb_release_time) { |
| 212 scoped_ptr<Environment> env(Environment::Create()); | 212 scoped_ptr<Environment> env(Environment::Create()); |
| 213 env->SetVar(kLsbReleaseKey, lsb_release); | 213 env->SetVar(kLsbReleaseKey, lsb_release); |
| 214 env->SetVar(kLsbReleaseTimeKey, | 214 env->SetVar(kLsbReleaseTimeKey, |
| 215 DoubleToString(lsb_release_time.ToDoubleT())); | 215 DoubleToString(lsb_release_time.ToDoubleT())); |
| 216 g_chrome_os_version_info.Get().Parse(); | 216 g_chrome_os_version_info.Get().Parse(); |
| 217 } | 217 } |
| 218 | 218 |
| 219 } // namespace base | 219 } // namespace base |
| OLD | NEW |