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 |