1 /* 2 * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. 3 * 4 * Use of this source code is governed by a BSD-style license 5 * that can be found in the LICENSE file in the root of the source 6 * tree. An additional intellectual property rights grant can be found 7 * in the file PATENTS. All contributing project authors may 8 * be found in the AUTHORS file in the root of the source tree. 9 */ 10 11 #ifndef WEBRTC_MODULES_UTILITY_INCLUDE_HELPERS_IOS_H_ 12 #define WEBRTC_MODULES_UTILITY_INCLUDE_HELPERS_IOS_H_ 13 14 #if defined(WEBRTC_IOS) 15 16 #include <string> 17 18 namespace webrtc { 19 namespace ios { 20 21 bool CheckAndLogError(BOOL success, NSError* error); 22 23 std::string StdStringFromNSString(NSString* nsString); 24 25 // Return thread ID as a string. 26 std::string GetThreadId(); 27 28 // Return thread ID as string suitable for debug logging. 29 std::string GetThreadInfo(); 30 31 // Returns [NSThread currentThread] description as string. 32 // Example: <NSThread: 0x170066d80>{number = 1, name = main} 33 std::string GetCurrentThreadDescription(); 34 35 std::string GetAudioSessionCategory(); 36 37 // Returns the current name of the operating system. 38 std::string GetSystemName(); 39 40 // Returns the current version of the operating system. 41 std::string GetSystemVersion(); 42 43 // Returns the version of the operating system as a floating point value. 44 float GetSystemVersionAsFloat(); 45 46 // Returns the device type. 47 // Examples: ”iPhone” and ”iPod touch”. 48 std::string GetDeviceType(); 49 50 // Returns a more detailed device name. 51 // Examples: "iPhone 5s (GSM)" and "iPhone 6 Plus". 52 std::string GetDeviceName(); 53 54 } // namespace ios 55 } // namespace webrtc 56 57 #endif // defined(WEBRTC_IOS) 58 59 #endif // WEBRTC_MODULES_UTILITY_INCLUDE_HELPERS_IOS_H_ 60