blob: eb9a07664798e7b0aa07116db06e19b1568f0c65 [file] [log] [blame]
Anders Carlsson7bca8ca2018-08-30 09:30:29 +02001/*
2 * Copyright 2016 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#import <UIKit/UIKit.h>
12
13typedef NS_ENUM(NSInteger, RTCDeviceType) {
14 RTCDeviceTypeUnknown,
15 RTCDeviceTypeIPhone1G,
16 RTCDeviceTypeIPhone3G,
17 RTCDeviceTypeIPhone3GS,
18 RTCDeviceTypeIPhone4,
19 RTCDeviceTypeIPhone4Verizon,
20 RTCDeviceTypeIPhone4S,
21 RTCDeviceTypeIPhone5GSM,
22 RTCDeviceTypeIPhone5GSM_CDMA,
23 RTCDeviceTypeIPhone5CGSM,
24 RTCDeviceTypeIPhone5CGSM_CDMA,
25 RTCDeviceTypeIPhone5SGSM,
26 RTCDeviceTypeIPhone5SGSM_CDMA,
27 RTCDeviceTypeIPhone6Plus,
28 RTCDeviceTypeIPhone6,
29 RTCDeviceTypeIPhone6S,
30 RTCDeviceTypeIPhone6SPlus,
31 RTCDeviceTypeIPhone7,
32 RTCDeviceTypeIPhone7Plus,
33 RTCDeviceTypeIPhoneSE,
34 RTCDeviceTypeIPhone8,
35 RTCDeviceTypeIPhone8Plus,
36 RTCDeviceTypeIPhoneX,
Yura Yaroshevichc6de47e2018-10-23 16:55:04 +030037 RTCDeviceTypeIPhoneXS,
38 RTCDeviceTypeIPhoneXSMax,
39 RTCDeviceTypeIPhoneXR,
Yura Yaroshevichde365952019-10-31 12:01:53 +030040 RTCDeviceTypeIPhone11,
41 RTCDeviceTypeIPhone11Pro,
42 RTCDeviceTypeIPhone11ProMax,
Dave Cowartb853d722021-01-19 15:29:11 -060043 RTCDeviceTypeIPhone12Mini,
44 RTCDeviceTypeIPhone12,
45 RTCDeviceTypeIPhone12Pro,
46 RTCDeviceTypeIPhone12ProMax,
Anders Carlsson7bca8ca2018-08-30 09:30:29 +020047 RTCDeviceTypeIPodTouch1G,
48 RTCDeviceTypeIPodTouch2G,
49 RTCDeviceTypeIPodTouch3G,
50 RTCDeviceTypeIPodTouch4G,
51 RTCDeviceTypeIPodTouch5G,
52 RTCDeviceTypeIPodTouch6G,
Yura Yaroshevichde365952019-10-31 12:01:53 +030053 RTCDeviceTypeIPodTouch7G,
Anders Carlsson7bca8ca2018-08-30 09:30:29 +020054 RTCDeviceTypeIPad,
55 RTCDeviceTypeIPad2Wifi,
56 RTCDeviceTypeIPad2GSM,
57 RTCDeviceTypeIPad2CDMA,
58 RTCDeviceTypeIPad2Wifi2,
59 RTCDeviceTypeIPadMiniWifi,
60 RTCDeviceTypeIPadMiniGSM,
61 RTCDeviceTypeIPadMiniGSM_CDMA,
62 RTCDeviceTypeIPad3Wifi,
63 RTCDeviceTypeIPad3GSM_CDMA,
64 RTCDeviceTypeIPad3GSM,
65 RTCDeviceTypeIPad4Wifi,
66 RTCDeviceTypeIPad4GSM,
67 RTCDeviceTypeIPad4GSM_CDMA,
68 RTCDeviceTypeIPad5,
69 RTCDeviceTypeIPad6,
70 RTCDeviceTypeIPadAirWifi,
71 RTCDeviceTypeIPadAirCellular,
72 RTCDeviceTypeIPadAirWifiCellular,
73 RTCDeviceTypeIPadAir2,
74 RTCDeviceTypeIPadMini2GWifi,
75 RTCDeviceTypeIPadMini2GCellular,
76 RTCDeviceTypeIPadMini2GWifiCellular,
77 RTCDeviceTypeIPadMini3,
78 RTCDeviceTypeIPadMini4,
79 RTCDeviceTypeIPadPro9Inch,
80 RTCDeviceTypeIPadPro12Inch,
81 RTCDeviceTypeIPadPro12Inch2,
82 RTCDeviceTypeIPadPro10Inch,
Yura Yaroshevichde365952019-10-31 12:01:53 +030083 RTCDeviceTypeIPad7Gen10Inch,
84 RTCDeviceTypeIPadPro3Gen11Inch,
85 RTCDeviceTypeIPadPro3Gen12Inch,
Dave Cowartb853d722021-01-19 15:29:11 -060086 RTCDeviceTypeIPadPro4Gen11Inch,
87 RTCDeviceTypeIPadPro4Gen12Inch,
Yura Yaroshevichde365952019-10-31 12:01:53 +030088 RTCDeviceTypeIPadMini5Gen,
89 RTCDeviceTypeIPadAir3Gen,
Dave Cowartb853d722021-01-19 15:29:11 -060090 RTCDeviceTypeIPad8,
91 RTCDeviceTypeIPadAir4Gen,
Anders Carlsson7bca8ca2018-08-30 09:30:29 +020092 RTCDeviceTypeSimulatori386,
93 RTCDeviceTypeSimulatorx86_64,
94};
95
96@interface UIDevice (RTCDevice)
97
98+ (RTCDeviceType)deviceType;
99+ (BOOL)isIOS11OrLater;
100
101@end