// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef BASE_IOS_DEVICE_UTIL_H_ #define BASE_IOS_DEVICE_UTIL_H_ #include namespace ios { namespace device_util { // Returns the hardware version of the device the app is running on. // // The returned string is the string returned by sysctlbyname() with name // "hw.machine". Possible (known) values include: // // iPhone1,1 -> iPhone 1G // iPhone1,2 -> iPhone 3G // iPhone2,1 -> iPhone 3GS // iPhone3,1 -> iPhone 4/AT&T // iPhone3,2 -> iPhone 4/Other Carrier? // iPhone3,3 -> iPhone 4/Other Carrier? // iPhone4,1 -> iPhone 4S // // iPod1,1 -> iPod touch 1G // iPod2,1 -> iPod touch 2G // iPod2,2 -> ? // iPod3,1 -> iPod touch 3G // iPod4,1 -> iPod touch 4G // iPod5,1 -> ? // // iPad1,1 -> iPad 1G, WiFi // iPad1,? -> iPad 1G, 3G <- needs 3G owner to test // iPad2,1 -> iPad 2G, WiFi // // AppleTV2,1 -> AppleTV 2 // // i386 -> Simulator // x86_64 -> Simulator std::string GetPlatform(); // Returns true if the application is running on a high-ram device. (>=500M). bool IsRunningOnHighRamDevice(); // Returns true if the device has only one core. bool IsSingleCoreDevice(); // Returns the MAC address of the interface with name |interface_name|. std::string GetMacAddress(const std::string& interface_name); // Returns a random UUID. std::string GetRandomId(); // Returns an identifier for the device, using the given |salt|. A global // identifier is generated the first time this method is called, and the salt // is used to be able to generate distinct identifiers for the same device. If // |salt| is NULL, a default value is used. Unless you are using this value for // something that should be anonymous, you should probably pass NULL. std::string GetDeviceIdentifier(const char* salt); } // namespace device_util } // namespace ios #endif // BASE_IOS_DEVICE_UTIL_H_