Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 // Copyright (c) 2011 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 #include "chrome/browser/sync/glue/session_model_associator.h" | |
| 6 | |
| 7 #import <Foundation/Foundation.h> | |
| 8 #import <SystemConfiguration/SCDynamicStoreCopySpecific.h> | |
| 9 #include <sys/sysctl.h> // sysctlbyname() | |
| 10 | |
| 11 #include "base/mac/mac_util.h" | |
| 12 #include "base/string_util.h" | |
| 13 #include "base/sys_info.h" | |
| 14 #include "base/sys_string_conversions.h" | |
| 15 | |
| 16 @interface NSHost(SnowLeopardAPI) | |
| 17 - (NSString *)localizedName; | |
|
Nico
2011/09/01 20:20:41
No space after *
Yaron
2011/09/01 22:19:46
Done. Or did you mean to add a space after the ")"
| |
| 18 @end | |
| 19 | |
| 20 namespace browser_sync { | |
| 21 | |
| 22 // Static | |
| 23 std::string SessionModelAssociator::GetHardwareModelName() { | |
| 24 NSHost* myHost = [NSHost currentHost]; | |
| 25 if ([myHost respondsToSelector:@selector(localizedName)]) { | |
| 26 return base::SysNSStringToUTF8([myHost localizedName]); | |
| 27 } else { | |
|
Nico
2011/09/01 20:20:41
No else after return, that makes the function less
Yaron
2011/09/01 22:19:46
Done.
| |
| 28 // Fallback for 10.5 | |
| 29 NSString* computerName = (NSString *)SCDynamicStoreCopyComputerName( | |
|
Nico
2011/09/01 20:20:41
No space in front of *. Also, we don't like C-styl
Yaron
2011/09/01 22:19:46
Done.
| |
| 30 NULL, NULL); | |
| 31 if (computerName != NULL) { | |
| 32 return base::SysNSStringToUTF8([myHost localizedName]); | |
|
Nico
2011/09/01 20:20:41
s/\[myHost localizedName\]/computerName/ :-)
Yaron
2011/09/01 22:19:46
Done. Ugh.
| |
| 33 } | |
| 34 | |
| 35 // If all else fails, return to using a slightly nicer version of the | |
| 36 // hardware model. | |
| 37 char modelBuffer[256]; | |
| 38 size_t length = sizeof(modelBuffer); | |
| 39 if (!sysctlbyname("hw.model", modelBuffer, &length, NULL, 0)) { | |
| 40 for (size_t i = 0; i < length; i++) { | |
| 41 if (IsAsciiDigit(modelBuffer[i])) { | |
| 42 return std::string(modelBuffer, 0, i); | |
| 43 } | |
| 44 } | |
| 45 return std::string(modelBuffer, 0, length); | |
| 46 } else { | |
|
Nico
2011/09/01 20:20:41
No else after return
Yaron
2011/09/01 22:19:46
Done.
| |
| 47 return "Unknown"; | |
| 48 } | |
| 49 } | |
| 50 } | |
| 51 | |
| 52 } // namespace browser_sync | |
| OLD | NEW |