| OLD | NEW |
| (Empty) |
| 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 | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #ifndef BASE_IOS_DEVICE_UTIL_H_ | |
| 6 #define BASE_IOS_DEVICE_UTIL_H_ | |
| 7 | |
| 8 #include <string> | |
| 9 | |
| 10 namespace ios { | |
| 11 namespace device_util { | |
| 12 | |
| 13 // Returns the hardware version of the device the app is running on. | |
| 14 // | |
| 15 // The returned string is the string returned by sysctlbyname() with name | |
| 16 // "hw.machine". Possible (known) values include: | |
| 17 // | |
| 18 // iPhone1,1 -> iPhone 1G | |
| 19 // iPhone1,2 -> iPhone 3G | |
| 20 // iPhone2,1 -> iPhone 3GS | |
| 21 // iPhone3,1 -> iPhone 4/AT&T | |
| 22 // iPhone3,2 -> iPhone 4/Other Carrier? | |
| 23 // iPhone3,3 -> iPhone 4/Other Carrier? | |
| 24 // iPhone4,1 -> iPhone 4S | |
| 25 // | |
| 26 // iPod1,1 -> iPod touch 1G | |
| 27 // iPod2,1 -> iPod touch 2G | |
| 28 // iPod2,2 -> ? | |
| 29 // iPod3,1 -> iPod touch 3G | |
| 30 // iPod4,1 -> iPod touch 4G | |
| 31 // iPod5,1 -> ? | |
| 32 // | |
| 33 // iPad1,1 -> iPad 1G, WiFi | |
| 34 // iPad1,? -> iPad 1G, 3G <- needs 3G owner to test | |
| 35 // iPad2,1 -> iPad 2G, WiFi | |
| 36 // | |
| 37 // AppleTV2,1 -> AppleTV 2 | |
| 38 // | |
| 39 // i386 -> Simulator | |
| 40 // x86_64 -> Simulator | |
| 41 std::string GetPlatform(); | |
| 42 | |
| 43 // Returns true if the application is running on a device with 512MB or more | |
| 44 // RAM. | |
| 45 bool RamIsAtLeast512Mb(); | |
| 46 | |
| 47 // Returns true if the application is running on a device with 1024MB or more | |
| 48 // RAM. | |
| 49 bool RamIsAtLeast1024Mb(); | |
| 50 | |
| 51 // Returns true if the application is running on a device with |ram_in_mb| MB or | |
| 52 // more RAM. | |
| 53 // Use with caution! Actual RAM reported by devices is less than the commonly | |
| 54 // used powers-of-two values. For example, a 512MB device may report only 502MB | |
| 55 // RAM. The convenience methods above should be used in most cases because they | |
| 56 // correctly handle this issue. | |
| 57 bool RamIsAtLeast(uint64_t ram_in_mb); | |
| 58 | |
| 59 // Returns true if the device has only one core. | |
| 60 bool IsSingleCoreDevice(); | |
| 61 | |
| 62 // Returns the MAC address of the interface with name |interface_name|. | |
| 63 std::string GetMacAddress(const std::string& interface_name); | |
| 64 | |
| 65 // Returns a random UUID. | |
| 66 std::string GetRandomId(); | |
| 67 | |
| 68 // Returns an identifier for the device, using the given |salt|. A global | |
| 69 // identifier is generated the first time this method is called, and the salt | |
| 70 // is used to be able to generate distinct identifiers for the same device. If | |
| 71 // |salt| is NULL, a default value is used. Unless you are using this value for | |
| 72 // something that should be anonymous, you should probably pass NULL. | |
| 73 std::string GetDeviceIdentifier(const char* salt); | |
| 74 | |
| 75 // Returns a hashed version of |in_string| using |salt| (which must not be | |
| 76 // zero-length). Different salt values should result in differently hashed | |
| 77 // strings. | |
| 78 std::string GetSaltedString(const std::string& in_string, | |
| 79 const std::string& salt); | |
| 80 | |
| 81 } // namespace device_util | |
| 82 } // namespace ios | |
| 83 | |
| 84 #endif // BASE_IOS_DEVICE_UTIL_H_ | |
| OLD | NEW |