xref: /aosp_15_r20/external/webrtc/sdk/objc/helpers/UIDevice+RTCDevice.h (revision d9f758449e529ab9291ac668be2861e7a55c2422)
1 /*
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 
13 typedef 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,
37   RTCDeviceTypeIPhoneXS,
38   RTCDeviceTypeIPhoneXSMax,
39   RTCDeviceTypeIPhoneXR,
40   RTCDeviceTypeIPhone11,
41   RTCDeviceTypeIPhone11Pro,
42   RTCDeviceTypeIPhone11ProMax,
43   RTCDeviceTypeIPhone12Mini,
44   RTCDeviceTypeIPhone12,
45   RTCDeviceTypeIPhone12Pro,
46   RTCDeviceTypeIPhone12ProMax,
47   RTCDeviceTypeIPhoneSE2Gen,
48   RTCDeviceTypeIPhone13,
49   RTCDeviceTypeIPhone13Mini,
50   RTCDeviceTypeIPhone13Pro,
51   RTCDeviceTypeIPhone13ProMax,
52 
53   RTCDeviceTypeIPodTouch1G,
54   RTCDeviceTypeIPodTouch2G,
55   RTCDeviceTypeIPodTouch3G,
56   RTCDeviceTypeIPodTouch4G,
57   RTCDeviceTypeIPodTouch5G,
58   RTCDeviceTypeIPodTouch6G,
59   RTCDeviceTypeIPodTouch7G,
60   RTCDeviceTypeIPad,
61   RTCDeviceTypeIPad2Wifi,
62   RTCDeviceTypeIPad2GSM,
63   RTCDeviceTypeIPad2CDMA,
64   RTCDeviceTypeIPad2Wifi2,
65   RTCDeviceTypeIPadMiniWifi,
66   RTCDeviceTypeIPadMiniGSM,
67   RTCDeviceTypeIPadMiniGSM_CDMA,
68   RTCDeviceTypeIPad3Wifi,
69   RTCDeviceTypeIPad3GSM_CDMA,
70   RTCDeviceTypeIPad3GSM,
71   RTCDeviceTypeIPad4Wifi,
72   RTCDeviceTypeIPad4GSM,
73   RTCDeviceTypeIPad4GSM_CDMA,
74   RTCDeviceTypeIPad5,
75   RTCDeviceTypeIPad6,
76   RTCDeviceTypeIPadAirWifi,
77   RTCDeviceTypeIPadAirCellular,
78   RTCDeviceTypeIPadAirWifiCellular,
79   RTCDeviceTypeIPadAir2,
80   RTCDeviceTypeIPadMini2GWifi,
81   RTCDeviceTypeIPadMini2GCellular,
82   RTCDeviceTypeIPadMini2GWifiCellular,
83   RTCDeviceTypeIPadMini3,
84   RTCDeviceTypeIPadMini4,
85   RTCDeviceTypeIPadPro9Inch,
86   RTCDeviceTypeIPadPro12Inch,
87   RTCDeviceTypeIPadPro12Inch2,
88   RTCDeviceTypeIPadPro10Inch,
89   RTCDeviceTypeIPad7Gen10Inch,
90   RTCDeviceTypeIPadPro3Gen11Inch,
91   RTCDeviceTypeIPadPro3Gen12Inch,
92   RTCDeviceTypeIPadPro4Gen11Inch,
93   RTCDeviceTypeIPadPro4Gen12Inch,
94   RTCDeviceTypeIPadMini5Gen,
95   RTCDeviceTypeIPadAir3Gen,
96   RTCDeviceTypeIPad8,
97   RTCDeviceTypeIPad9,
98   RTCDeviceTypeIPadMini6,
99   RTCDeviceTypeIPadAir4Gen,
100   RTCDeviceTypeIPadPro5Gen11Inch,
101   RTCDeviceTypeIPadPro5Gen12Inch,
102   RTCDeviceTypeSimulatori386,
103   RTCDeviceTypeSimulatorx86_64,
104 };
105 
106 @interface UIDevice (RTCDevice)
107 
108 + (RTCDeviceType)deviceType;
109 + (BOOL)isIOS11OrLater;
110 
111 @end
112