1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- // 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 <stdint.h>
- #include <string>
- 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 device with 512MB or more
- // RAM.
- bool RamIsAtLeast512Mb();
- // Returns true if the application is running on a device with 1024MB or more
- // RAM.
- bool RamIsAtLeast1024Mb();
- // Returns true if the application is running on a device with |ram_in_mb| MB or
- // more RAM.
- // Use with caution! Actual RAM reported by devices is less than the commonly
- // used powers-of-two values. For example, a 512MB device may report only 502MB
- // RAM. The convenience methods above should be used in most cases because they
- // correctly handle this issue.
- bool RamIsAtLeast(uint64_t ram_in_mb);
- // 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);
- // Returns a hashed version of |in_string| using |salt| (which must not be
- // zero-length). Different salt values should result in differently hashed
- // strings.
- std::string GetSaltedString(const std::string& in_string,
- const std::string& salt);
- } // namespace device_util
- } // namespace ios
- #endif // BASE_IOS_DEVICE_UTIL_H_
|