simtap 0.0.0-stage → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +192 -2
  3. package/THIRD_PARTY_LICENSES +61 -0
  4. package/bin/simtap.js +4 -0
  5. package/dist/act/diff.js +67 -0
  6. package/dist/act/resolve.js +49 -0
  7. package/dist/act/steps.js +188 -0
  8. package/dist/cli.js +123 -0
  9. package/dist/engine/apps.js +153 -0
  10. package/dist/engine/axe.js +107 -0
  11. package/dist/engine/exec.js +36 -0
  12. package/dist/engine/jobs.js +95 -0
  13. package/dist/engine/logs.js +115 -0
  14. package/dist/engine/simctl.js +191 -0
  15. package/dist/engine/state.js +30 -0
  16. package/dist/engine/xcode.js +253 -0
  17. package/dist/engine/xcresult.js +95 -0
  18. package/dist/errors.js +11 -0
  19. package/dist/look/read.js +50 -0
  20. package/dist/look/snapshot.js +455 -0
  21. package/dist/mcp.js +108 -0
  22. package/dist/registry.js +65 -0
  23. package/dist/tools/app-control.js +127 -0
  24. package/dist/tools/app-logs.js +128 -0
  25. package/dist/tools/app-run.js +94 -0
  26. package/dist/tools/device-use.js +68 -0
  27. package/dist/tools/devices.js +26 -0
  28. package/dist/tools/jobs.js +55 -0
  29. package/dist/tools/launch-app.js +68 -0
  30. package/dist/tools/screen-record.js +79 -0
  31. package/dist/tools/tests-run.js +81 -0
  32. package/dist/tools/types.js +2 -0
  33. package/dist/tools/ui-act.js +435 -0
  34. package/dist/tools/ui-look.js +40 -0
  35. package/package.json +45 -4
  36. package/skill/SKILL.md +23 -0
  37. package/vendor/axe/.version +1 -0
  38. package/vendor/axe/AXe_AXe.bundle/skills/axe/SKILL.md +87 -0
  39. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/FBControlCore +0 -0
  40. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBAccessibilityTraits.h +23 -0
  41. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBArchitecture.h +20 -0
  42. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBArchiveOperations.h +136 -0
  43. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBBinaryDescriptor.h +73 -0
  44. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBControlCore-Swift.h +3232 -0
  45. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBControlCore-SwiftImport.h +28 -0
  46. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBControlCore.h +47 -0
  47. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBControlCoreFrameworkLoader.h +104 -0
  48. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBControlCoreLogger+OSLog.h +30 -0
  49. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBControlCoreLogger.h +107 -0
  50. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBCrashLog.h +20 -0
  51. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBDataBuffer.h +75 -0
  52. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBDataConsumer.h +173 -0
  53. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBFileContainer.h +46 -0
  54. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBFileReader.h +25 -0
  55. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBFourCharCode.h +30 -0
  56. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBFuture+Sync.h +104 -0
  57. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBFuture.h +580 -0
  58. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBFutureContextManager.h +61 -0
  59. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBInstalledApplication.h +30 -0
  60. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBInstrumentsCommands.h +29 -0
  61. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBInstrumentsOperation.h +83 -0
  62. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBObjCExceptionGuard.h +59 -0
  63. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBProcessBuilder.h +272 -0
  64. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBProcessFetcher.h +128 -0
  65. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBProcessIO.h +126 -0
  66. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBProcessStream.h +175 -0
  67. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBProcessTerminationStrategy.h +25 -0
  68. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBScreenshotCommands.h +15 -0
  69. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBSettingsCommands.h +22 -0
  70. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBSocketServer.h +63 -0
  71. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBSubprocess.h +131 -0
  72. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBVideoStream.h +255 -0
  73. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBVideoStreamConfiguration.h +51 -0
  74. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBXCTraceOperation.h +13 -0
  75. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBiOSTarget.h +69 -0
  76. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBiOSTargetConfiguration.h +322 -0
  77. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBiOSTargetConstants.h +48 -0
  78. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBiOSTargetOperation.h +18 -0
  79. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Modules/FBControlCore.swiftmodule/Project/arm64-apple-macos.swiftsourceinfo +0 -0
  80. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Modules/FBControlCore.swiftmodule/Project/x86_64-apple-macos.swiftsourceinfo +0 -0
  81. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Modules/FBControlCore.swiftmodule/arm64-apple-macos.abi.json +51890 -0
  82. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Modules/FBControlCore.swiftmodule/arm64-apple-macos.private.swiftinterface +1341 -0
  83. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Modules/FBControlCore.swiftmodule/arm64-apple-macos.swiftdoc +0 -0
  84. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Modules/FBControlCore.swiftmodule/arm64-apple-macos.swiftinterface +1341 -0
  85. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Modules/FBControlCore.swiftmodule/arm64-apple-macos.swiftmodule +0 -0
  86. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Modules/FBControlCore.swiftmodule/x86_64-apple-macos.abi.json +51890 -0
  87. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Modules/FBControlCore.swiftmodule/x86_64-apple-macos.private.swiftinterface +1341 -0
  88. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Modules/FBControlCore.swiftmodule/x86_64-apple-macos.swiftdoc +0 -0
  89. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Modules/FBControlCore.swiftmodule/x86_64-apple-macos.swiftinterface +1341 -0
  90. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Modules/FBControlCore.swiftmodule/x86_64-apple-macos.swiftmodule +0 -0
  91. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Modules/module.modulemap +10 -0
  92. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Resources/Info.plist +50 -0
  93. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/_CodeSignature/CodeResources +492 -0
  94. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/FBDeviceControl +0 -0
  95. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Headers/FBAFCConnection.h +135 -0
  96. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Headers/FBAMDServiceConnection.h +239 -0
  97. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Headers/FBAMDefines.h +256 -0
  98. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Headers/FBAMDevice.h +105 -0
  99. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Headers/FBAMDeviceManager.h +59 -0
  100. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Headers/FBAMRestorableDevice.h +72 -0
  101. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Headers/FBAMRestorableDeviceManager.h +32 -0
  102. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Headers/FBDevice.h +89 -0
  103. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Headers/FBDeviceCommands.h +147 -0
  104. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Headers/FBDeviceControl-Swift.h +1500 -0
  105. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Headers/FBDeviceControl.h +24 -0
  106. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Headers/FBDeviceControlFrameworkLoader.h +25 -0
  107. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Headers/FBDeviceDebugSymbolsCommands.h +29 -0
  108. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Headers/FBDeviceManager.h +118 -0
  109. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Headers/FBInstrumentsClient.h +49 -0
  110. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Modules/FBDeviceControl.swiftmodule/Project/arm64-apple-macos.swiftsourceinfo +0 -0
  111. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Modules/FBDeviceControl.swiftmodule/Project/x86_64-apple-macos.swiftsourceinfo +0 -0
  112. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Modules/FBDeviceControl.swiftmodule/arm64-apple-macos.abi.json +16073 -0
  113. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Modules/FBDeviceControl.swiftmodule/arm64-apple-macos.private.swiftinterface +398 -0
  114. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Modules/FBDeviceControl.swiftmodule/arm64-apple-macos.swiftdoc +0 -0
  115. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Modules/FBDeviceControl.swiftmodule/arm64-apple-macos.swiftinterface +398 -0
  116. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Modules/FBDeviceControl.swiftmodule/arm64-apple-macos.swiftmodule +0 -0
  117. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Modules/FBDeviceControl.swiftmodule/x86_64-apple-macos.abi.json +16073 -0
  118. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Modules/FBDeviceControl.swiftmodule/x86_64-apple-macos.private.swiftinterface +398 -0
  119. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Modules/FBDeviceControl.swiftmodule/x86_64-apple-macos.swiftdoc +0 -0
  120. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Modules/FBDeviceControl.swiftmodule/x86_64-apple-macos.swiftinterface +398 -0
  121. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Modules/FBDeviceControl.swiftmodule/x86_64-apple-macos.swiftmodule +0 -0
  122. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Modules/module.modulemap +10 -0
  123. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Resources/Info.plist +50 -0
  124. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/_CodeSignature/CodeResources +324 -0
  125. package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/FBSimulatorControl +0 -0
  126. package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Headers/FBFramebuffer.h +24 -0
  127. package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Headers/FBPeriodicStatsTimer.h +43 -0
  128. package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Headers/FBSimDeviceWrapper.h +86 -0
  129. package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Headers/FBSimulator.h +160 -0
  130. package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Headers/FBSimulatorBootConfiguration.h +18 -0
  131. package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Headers/FBSimulatorControl-Swift.h +2270 -0
  132. package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Headers/FBSimulatorControl.h +21 -0
  133. package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Headers/FBSimulatorControlFrameworkLoader.h +45 -0
  134. package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Headers/FBSimulatorVideoStream.h +153 -0
  135. package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Modules/FBSimulatorControl.swiftmodule/Project/arm64-apple-macos.swiftsourceinfo +0 -0
  136. package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Modules/FBSimulatorControl.swiftmodule/Project/x86_64-apple-macos.swiftsourceinfo +0 -0
  137. package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Modules/FBSimulatorControl.swiftmodule/arm64-apple-macos.abi.json +46980 -0
  138. package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Modules/FBSimulatorControl.swiftmodule/arm64-apple-macos.private.swiftinterface +1072 -0
  139. package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Modules/FBSimulatorControl.swiftmodule/arm64-apple-macos.swiftdoc +0 -0
  140. package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Modules/FBSimulatorControl.swiftmodule/arm64-apple-macos.swiftinterface +1072 -0
  141. package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Modules/FBSimulatorControl.swiftmodule/arm64-apple-macos.swiftmodule +0 -0
  142. package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Modules/FBSimulatorControl.swiftmodule/x86_64-apple-macos.abi.json +46980 -0
  143. package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Modules/FBSimulatorControl.swiftmodule/x86_64-apple-macos.private.swiftinterface +1072 -0
  144. package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Modules/FBSimulatorControl.swiftmodule/x86_64-apple-macos.swiftdoc +0 -0
  145. package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Modules/FBSimulatorControl.swiftmodule/x86_64-apple-macos.swiftinterface +1072 -0
  146. package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Modules/FBSimulatorControl.swiftmodule/x86_64-apple-macos.swiftmodule +0 -0
  147. package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Modules/module.modulemap +10 -0
  148. package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Resources/Info.plist +50 -0
  149. package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Resources/README.md +124 -0
  150. package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/_CodeSignature/CodeResources +293 -0
  151. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Headers/FBActivityRecord.h +33 -0
  152. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Headers/FBAttachment.h +25 -0
  153. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Headers/FBCodeCoverageConfiguration.h +15 -0
  154. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Headers/FBTestBundleConnection.h +37 -0
  155. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Headers/FBTestConfiguration.h +74 -0
  156. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Headers/FBTestManagerAPIMediator.h +46 -0
  157. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Headers/FBTestManagerResultSummary.h +19 -0
  158. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Headers/FBTestReporterAdapter.h +27 -0
  159. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Headers/FBXCTestConfiguration.h +30 -0
  160. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Headers/XCTestBootstrap-Swift.h +1570 -0
  161. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Headers/XCTestBootstrap.h +22 -0
  162. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Headers/XCTestBootstrapError.h +25 -0
  163. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Modules/XCTestBootstrap.swiftmodule/Project/arm64-apple-macos.swiftsourceinfo +0 -0
  164. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Modules/XCTestBootstrap.swiftmodule/Project/x86_64-apple-macos.swiftsourceinfo +0 -0
  165. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Modules/XCTestBootstrap.swiftmodule/arm64-apple-macos.abi.json +15972 -0
  166. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Modules/XCTestBootstrap.swiftmodule/arm64-apple-macos.private.swiftinterface +397 -0
  167. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Modules/XCTestBootstrap.swiftmodule/arm64-apple-macos.swiftdoc +0 -0
  168. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Modules/XCTestBootstrap.swiftmodule/arm64-apple-macos.swiftinterface +397 -0
  169. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Modules/XCTestBootstrap.swiftmodule/arm64-apple-macos.swiftmodule +0 -0
  170. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Modules/XCTestBootstrap.swiftmodule/x86_64-apple-macos.abi.json +15972 -0
  171. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Modules/XCTestBootstrap.swiftmodule/x86_64-apple-macos.private.swiftinterface +397 -0
  172. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Modules/XCTestBootstrap.swiftmodule/x86_64-apple-macos.swiftdoc +0 -0
  173. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Modules/XCTestBootstrap.swiftmodule/x86_64-apple-macos.swiftinterface +397 -0
  174. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Modules/XCTestBootstrap.swiftmodule/x86_64-apple-macos.swiftmodule +0 -0
  175. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Modules/module.modulemap +13 -0
  176. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Resources/Info.plist +50 -0
  177. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/XCTestBootstrap +0 -0
  178. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/_CodeSignature/CodeResources +303 -0
  179. package/vendor/axe/axe +0 -0
@@ -0,0 +1,3232 @@
1
+ #if 0
2
+ #elif defined(__arm64__) && __arm64__
3
+ // Generated by Apple Swift version 6.3.2 effective-5.10 (swiftlang-6.3.2.1.108 clang-2100.1.1.101)
4
+ #ifndef FBCONTROLCORE_SWIFT_H
5
+ #define FBCONTROLCORE_SWIFT_H
6
+ #pragma clang diagnostic push
7
+ #pragma clang diagnostic ignored "-Wgcc-compat"
8
+
9
+ #if !defined(__has_include)
10
+ # define __has_include(x) 0
11
+ #endif
12
+ #if !defined(__has_attribute)
13
+ # define __has_attribute(x) 0
14
+ #endif
15
+ #if !defined(__has_feature)
16
+ # define __has_feature(x) 0
17
+ #endif
18
+ #if !defined(__has_warning)
19
+ # define __has_warning(x) 0
20
+ #endif
21
+
22
+ #if __has_include(<swift/objc-prologue.h>)
23
+ # include <swift/objc-prologue.h>
24
+ #endif
25
+
26
+ #pragma clang diagnostic ignored "-Wauto-import"
27
+ #if defined(__OBJC__)
28
+ #include <Foundation/Foundation.h>
29
+ #endif // defined(__OBJC__)
30
+ #if defined(__cplusplus)
31
+ #include <cstdint>
32
+ #include <cstddef>
33
+ #include <cstdbool>
34
+ #include <cstring>
35
+ #include <stdlib.h>
36
+ #include <new>
37
+ #include <type_traits>
38
+ #else
39
+ #include <stdint.h>
40
+ #include <stddef.h>
41
+ #include <stdbool.h>
42
+ #include <string.h>
43
+ #endif
44
+ #if defined(__cplusplus)
45
+ #pragma clang diagnostic push
46
+ #pragma clang diagnostic ignored "-Wnon-modular-include-in-framework-module"
47
+ #if defined(__arm64e__) && __has_include(<ptrauth.h>)
48
+ # include <ptrauth.h>
49
+ #else
50
+ #pragma clang diagnostic push
51
+ #pragma clang diagnostic ignored "-Wreserved-macro-identifier"
52
+ # ifndef __ptrauth_swift_value_witness_function_pointer
53
+ # define __ptrauth_swift_value_witness_function_pointer(x)
54
+ # endif
55
+ # ifndef __ptrauth_swift_class_method_pointer
56
+ # define __ptrauth_swift_class_method_pointer(x)
57
+ # endif
58
+ #pragma clang diagnostic pop
59
+ #endif
60
+ #pragma clang diagnostic pop
61
+ #endif
62
+
63
+ #if !defined(SWIFT_TYPEDEFS)
64
+ # define SWIFT_TYPEDEFS 1
65
+ # if __has_include(<uchar.h>)
66
+ # include <uchar.h>
67
+ # elif !defined(__cplusplus)
68
+ typedef unsigned char char8_t;
69
+ typedef uint_least16_t char16_t;
70
+ typedef uint_least32_t char32_t;
71
+ # endif
72
+ typedef float swift_float2 __attribute__((__ext_vector_type__(2)));
73
+ typedef float swift_float3 __attribute__((__ext_vector_type__(3)));
74
+ typedef float swift_float4 __attribute__((__ext_vector_type__(4)));
75
+ typedef double swift_double2 __attribute__((__ext_vector_type__(2)));
76
+ typedef double swift_double3 __attribute__((__ext_vector_type__(3)));
77
+ typedef double swift_double4 __attribute__((__ext_vector_type__(4)));
78
+ typedef int swift_int2 __attribute__((__ext_vector_type__(2)));
79
+ typedef int swift_int3 __attribute__((__ext_vector_type__(3)));
80
+ typedef int swift_int4 __attribute__((__ext_vector_type__(4)));
81
+ typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2)));
82
+ typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3)));
83
+ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
84
+ #endif
85
+
86
+ #if !defined(SWIFT_PASTE)
87
+ # define SWIFT_PASTE_HELPER(x, y) x##y
88
+ # define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
89
+ #endif
90
+ #if !defined(SWIFT_METATYPE)
91
+ # define SWIFT_METATYPE(X) Class
92
+ #endif
93
+ #if !defined(SWIFT_CLASS_PROPERTY)
94
+ # if __has_feature(objc_class_property)
95
+ # define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
96
+ # else
97
+ # define SWIFT_CLASS_PROPERTY(...)
98
+ # endif
99
+ #endif
100
+ #if !defined(SWIFT_RUNTIME_NAME)
101
+ # if __has_attribute(objc_runtime_name)
102
+ # define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
103
+ # else
104
+ # define SWIFT_RUNTIME_NAME(X)
105
+ # endif
106
+ #endif
107
+ #if !defined(SWIFT_COMPILE_NAME)
108
+ # if __has_attribute(swift_name)
109
+ # define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
110
+ # else
111
+ # define SWIFT_COMPILE_NAME(X)
112
+ # endif
113
+ #endif
114
+ #if !defined(SWIFT_METHOD_FAMILY)
115
+ # if __has_attribute(objc_method_family)
116
+ # define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
117
+ # else
118
+ # define SWIFT_METHOD_FAMILY(X)
119
+ # endif
120
+ #endif
121
+ #if !defined(SWIFT_NOESCAPE)
122
+ # if __has_attribute(noescape)
123
+ # define SWIFT_NOESCAPE __attribute__((noescape))
124
+ # else
125
+ # define SWIFT_NOESCAPE
126
+ # endif
127
+ #endif
128
+ #if !defined(SWIFT_RELEASES_ARGUMENT)
129
+ # if __has_attribute(ns_consumed)
130
+ # define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
131
+ # else
132
+ # define SWIFT_RELEASES_ARGUMENT
133
+ # endif
134
+ #endif
135
+ #if !defined(SWIFT_WARN_UNUSED_RESULT)
136
+ # if __has_attribute(warn_unused_result)
137
+ # define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
138
+ # else
139
+ # define SWIFT_WARN_UNUSED_RESULT
140
+ # endif
141
+ #endif
142
+ #if !defined(SWIFT_NORETURN)
143
+ # if __has_attribute(noreturn)
144
+ # define SWIFT_NORETURN __attribute__((noreturn))
145
+ # else
146
+ # define SWIFT_NORETURN
147
+ # endif
148
+ #endif
149
+ #if !defined(SWIFT_CLASS_EXTRA)
150
+ # define SWIFT_CLASS_EXTRA
151
+ #endif
152
+ #if !defined(SWIFT_PROTOCOL_EXTRA)
153
+ # define SWIFT_PROTOCOL_EXTRA
154
+ #endif
155
+ #if !defined(SWIFT_ENUM_EXTRA)
156
+ # define SWIFT_ENUM_EXTRA
157
+ #endif
158
+ #if !defined(SWIFT_CLASS)
159
+ # if __has_attribute(objc_subclassing_restricted)
160
+ # define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
161
+ # define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
162
+ # else
163
+ # define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
164
+ # define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
165
+ # endif
166
+ #endif
167
+ #if !defined(SWIFT_RESILIENT_CLASS)
168
+ # if __has_attribute(objc_class_stub)
169
+ # define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
170
+ # define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
171
+ # else
172
+ # define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
173
+ # define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
174
+ # endif
175
+ #endif
176
+ #if !defined(SWIFT_PROTOCOL)
177
+ # define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
178
+ # define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
179
+ #endif
180
+ #if !defined(SWIFT_EXTENSION)
181
+ # define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
182
+ #endif
183
+ #if !defined(OBJC_DESIGNATED_INITIALIZER)
184
+ # if __has_attribute(objc_designated_initializer)
185
+ # define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
186
+ # else
187
+ # define OBJC_DESIGNATED_INITIALIZER
188
+ # endif
189
+ #endif
190
+ #if !defined(SWIFT_ENUM_ATTR)
191
+ # if __has_attribute(enum_extensibility)
192
+ # define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
193
+ # else
194
+ # define SWIFT_ENUM_ATTR(_extensibility)
195
+ # endif
196
+ #endif
197
+ #if !defined(SWIFT_ENUM)
198
+ # if (defined(__cplusplus) && __cplusplus >= 201103L) || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || __has_feature(objc_fixed_enum)
199
+ # define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
200
+ # if __has_feature(generalized_swift_name)
201
+ # define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
202
+ # else
203
+ # define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
204
+ # endif
205
+ # else
206
+ # define SWIFT_ENUM(_type, _name, _extensibility) _type _name; enum
207
+ # define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
208
+ # endif
209
+ #endif
210
+ #if !defined(SWIFT_ENUM_TAG)
211
+ # if (defined(__cplusplus) && __cplusplus >= 201103L) || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || __has_feature(objc_fixed_enum)
212
+ # define SWIFT_ENUM_TAG enum
213
+ # else
214
+ # define SWIFT_ENUM_TAG
215
+ # endif
216
+ #endif
217
+ #if !defined(SWIFT_ENUM_FWD_DECL)
218
+ # if (defined(__cplusplus) && __cplusplus >= 201103L) || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || __has_feature(objc_fixed_enum)
219
+ # define SWIFT_ENUM_FWD_DECL(_type, _name) enum _name : _type;
220
+ # else
221
+ # define SWIFT_ENUM_FWD_DECL(_type, _name) typedef _type _name;
222
+ # endif
223
+ #endif
224
+ #if !defined(SWIFT_UNAVAILABLE)
225
+ # define SWIFT_UNAVAILABLE __attribute__((unavailable))
226
+ #endif
227
+ #if !defined(SWIFT_UNAVAILABLE_MSG)
228
+ # define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
229
+ #endif
230
+ #if !defined(SWIFT_AVAILABILITY)
231
+ # define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
232
+ #endif
233
+ #if !defined(SWIFT_AVAILABILITY_DOMAIN)
234
+ # define SWIFT_AVAILABILITY_DOMAIN(dom, ...) __attribute__((availability(domain: dom, __VA_ARGS__)))
235
+ #endif
236
+ #if !defined(SWIFT_WEAK_IMPORT)
237
+ # define SWIFT_WEAK_IMPORT __attribute__((weak_import))
238
+ #endif
239
+ #if !defined(SWIFT_DEPRECATED)
240
+ # define SWIFT_DEPRECATED __attribute__((deprecated))
241
+ #endif
242
+ #if !defined(SWIFT_DEPRECATED_MSG)
243
+ # define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
244
+ #endif
245
+ #if !defined(SWIFT_DEPRECATED_OBJC)
246
+ # if __has_feature(attribute_diagnose_if_objc)
247
+ # define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
248
+ # else
249
+ # define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
250
+ # endif
251
+ #endif
252
+ #if defined(__OBJC__)
253
+ #if !defined(IBSegueAction)
254
+ # define IBSegueAction
255
+ #endif
256
+ #endif
257
+ #if !defined(SWIFT_EXTERN)
258
+ # if defined(__cplusplus)
259
+ # define SWIFT_EXTERN extern "C"
260
+ # else
261
+ # define SWIFT_EXTERN extern
262
+ # endif
263
+ #endif
264
+ #if !defined(SWIFT_CALL)
265
+ # define SWIFT_CALL __attribute__((swiftcall))
266
+ #endif
267
+ #if !defined(SWIFT_INDIRECT_RESULT)
268
+ # define SWIFT_INDIRECT_RESULT __attribute__((swift_indirect_result))
269
+ #endif
270
+ #if !defined(SWIFT_CONTEXT)
271
+ # define SWIFT_CONTEXT __attribute__((swift_context))
272
+ #endif
273
+ #if !defined(SWIFT_ERROR_RESULT)
274
+ # define SWIFT_ERROR_RESULT __attribute__((swift_error_result))
275
+ #endif
276
+ #if defined(__cplusplus)
277
+ # define SWIFT_NOEXCEPT noexcept
278
+ #else
279
+ # define SWIFT_NOEXCEPT
280
+ #endif
281
+ #if !defined(SWIFT_C_INLINE_THUNK)
282
+ # if __has_attribute(always_inline)
283
+ # if __has_attribute(nodebug)
284
+ # define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) __attribute__((nodebug))
285
+ # else
286
+ # define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline))
287
+ # endif
288
+ # else
289
+ # define SWIFT_C_INLINE_THUNK inline
290
+ # endif
291
+ #endif
292
+ #if defined(_WIN32)
293
+ #if !defined(SWIFT_IMPORT_STDLIB_SYMBOL)
294
+ # define SWIFT_IMPORT_STDLIB_SYMBOL __declspec(dllimport)
295
+ #endif
296
+ #else
297
+ #if !defined(SWIFT_IMPORT_STDLIB_SYMBOL)
298
+ # define SWIFT_IMPORT_STDLIB_SYMBOL
299
+ #endif
300
+ #endif
301
+ #if !__has_feature(nullability)
302
+ # define _Nonnull
303
+ # define _Nullable
304
+ # define _Null_unspecified
305
+ #elif !defined(__OBJC__)
306
+ # pragma clang diagnostic ignored "-Wnullability-extension"
307
+ #endif
308
+ #if !__has_feature(nullability_nullable_result)
309
+ # define _Nullable_result _Nullable
310
+ #endif
311
+ #if __has_feature(objc_modules)
312
+ #if __has_warning("-Watimport-in-framework-header")
313
+ #pragma clang diagnostic ignored "-Watimport-in-framework-header"
314
+ #endif
315
+ #endif
316
+
317
+ #pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
318
+ #pragma clang diagnostic ignored "-Wduplicate-method-arg"
319
+ #if __has_warning("-Wpragma-clang-attribute")
320
+ # pragma clang diagnostic ignored "-Wpragma-clang-attribute"
321
+ #endif
322
+ #pragma clang diagnostic ignored "-Wunknown-pragmas"
323
+ #pragma clang diagnostic ignored "-Wnullability"
324
+ #pragma clang diagnostic ignored "-Wdollar-in-identifier-extension"
325
+ #pragma clang diagnostic ignored "-Wunsafe-buffer-usage"
326
+
327
+ #if __has_attribute(external_source_symbol)
328
+ # pragma push_macro("any")
329
+ # undef any
330
+ # pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="FBControlCore",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
331
+ # pragma pop_macro("any")
332
+ #endif
333
+
334
+ #if defined(__cplusplus)
335
+ extern "C" {
336
+ #endif
337
+
338
+ #if defined(__cplusplus)
339
+ } // extern "C"
340
+ #endif
341
+ #if __has_attribute(external_source_symbol)
342
+ # pragma clang attribute pop
343
+ #endif
344
+ #if defined(__OBJC__)
345
+ #if __has_feature(objc_modules)
346
+ #if __has_warning("-Watimport-in-framework-header")
347
+ #pragma clang diagnostic ignored "-Watimport-in-framework-header"
348
+ #endif
349
+ @import AVFoundation;
350
+ @import CoreFoundation;
351
+ @import Darwin;
352
+ @import Dispatch;
353
+ @import Foundation;
354
+ @import ObjectiveC;
355
+ @import _DarwinFoundation2.sys_types;
356
+ #endif
357
+
358
+ #import <FBControlCore/FBControlCore.h>
359
+
360
+ #endif // defined(__OBJC__)
361
+ #pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
362
+ #pragma clang diagnostic ignored "-Wduplicate-method-arg"
363
+ #if __has_warning("-Wpragma-clang-attribute")
364
+ # pragma clang diagnostic ignored "-Wpragma-clang-attribute"
365
+ #endif
366
+ #pragma clang diagnostic ignored "-Wunknown-pragmas"
367
+ #pragma clang diagnostic ignored "-Wnullability"
368
+ #pragma clang diagnostic ignored "-Wdollar-in-identifier-extension"
369
+ #pragma clang diagnostic ignored "-Wunsafe-buffer-usage"
370
+
371
+ #if __has_attribute(external_source_symbol)
372
+ # pragma push_macro("any")
373
+ # undef any
374
+ # pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="FBControlCore",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
375
+ # pragma pop_macro("any")
376
+ #endif
377
+
378
+ #if defined(__OBJC__)
379
+
380
+ @class NSNull;
381
+ /// Observation of a Data Consumer’s lifecycle.
382
+ SWIFT_PROTOCOL("_TtP13FBControlCore23FBDataConsumerLifecycle_")
383
+ @protocol FBDataConsumerLifecycle <NSObject>
384
+ /// A Future that resolves when there is no more data to write and any underlying resource managed by the consumer is released.
385
+ @property (nonatomic, readonly, strong) FBFuture<NSNull *> * _Nonnull finishedConsuming;
386
+ @end
387
+
388
+ @class NSData;
389
+ /// A consumer of NSData.
390
+ SWIFT_PROTOCOL("_TtP13FBControlCore14FBDataConsumer_")
391
+ @protocol FBDataConsumer <NSObject>
392
+ /// Consumes the provided binary data.
393
+ - (void)consumeData:(NSData * _Nonnull)data;
394
+ /// Consumes an end-of-file.
395
+ - (void)consumeEndOfFile;
396
+ @end
397
+
398
+ @class NSString;
399
+ /// The non-mutating methods of a buffer.
400
+ SWIFT_PROTOCOL("_TtP13FBControlCore20FBAccumulatingBuffer_")
401
+ @protocol FBAccumulatingBuffer <FBDataConsumer, FBDataConsumerLifecycle>
402
+ /// Obtains a copy of the current output data.
403
+ - (NSData * _Nonnull)data SWIFT_WARN_UNUSED_RESULT;
404
+ /// Obtains a copy of the current output data.
405
+ - (NSArray<NSString *> * _Nonnull)lines SWIFT_WARN_UNUSED_RESULT;
406
+ @end
407
+
408
+ @protocol FBiOSTarget;
409
+ /// A protocol that defines a command class that can be instantiated for a target.
410
+ /// Concrete command classes (e.g. <code>FBSimulatorApplicationCommands</code>) adopt this directly.
411
+ SWIFT_PROTOCOL("_TtP13FBControlCore18FBiOSTargetCommand_")
412
+ @protocol FBiOSTargetCommand <NSObject>
413
+ /// Instantiates the Commands instance.
414
+ + (nonnull instancetype)commandsWithTarget:(id <FBiOSTarget> _Nonnull)target SWIFT_WARN_UNUSED_RESULT;
415
+ @end
416
+
417
+ @class FBInstalledApplication;
418
+ @class FBApplicationLaunchConfiguration;
419
+ @protocol FBLaunchedApplication;
420
+ @class NSNumber;
421
+ SWIFT_PROTOCOL("_TtP13FBControlCore21FBApplicationCommands_")
422
+ @protocol FBApplicationCommands <FBiOSTargetCommand>
423
+ - (FBFuture<FBInstalledApplication *> * _Nonnull)installApplicationWithPath:(NSString * _Nonnull)path SWIFT_WARN_UNUSED_RESULT;
424
+ - (FBFuture<NSNull *> * _Nonnull)uninstallApplicationWithBundleID:(NSString * _Nonnull)bundleID SWIFT_WARN_UNUSED_RESULT;
425
+ - (FBFuture<id <FBLaunchedApplication>> * _Nonnull)launchApplication:(FBApplicationLaunchConfiguration * _Nonnull)configuration SWIFT_WARN_UNUSED_RESULT;
426
+ - (FBFuture<NSNull *> * _Nonnull)killApplicationWithBundleID:(NSString * _Nonnull)bundleID SWIFT_WARN_UNUSED_RESULT;
427
+ - (FBFuture<NSArray *> * _Nonnull)installedApplications SWIFT_WARN_UNUSED_RESULT;
428
+ - (FBFuture<FBInstalledApplication *> * _Nonnull)installedApplicationWithBundleID:(NSString * _Nonnull)bundleID SWIFT_WARN_UNUSED_RESULT;
429
+ - (FBFuture<NSNumber *> * _Nonnull)processIDWithBundleID:(NSString * _Nonnull)bundleID SWIFT_WARN_UNUSED_RESULT;
430
+ @end
431
+
432
+ SWIFT_CLASS_NAMED("FBProcessLaunchConfiguration")
433
+ @interface FBProcessLaunchConfiguration : NSObject
434
+ @property (nonatomic, readonly, copy) NSArray<NSString *> * _Nonnull arguments;
435
+ @property (nonatomic, readonly, copy) NSDictionary<NSString *, NSString *> * _Nonnull environment;
436
+ @property (nonatomic, readonly, strong) FBProcessIO<id, id, id> * _Nonnull io;
437
+ - (nonnull instancetype)initWithArguments:(NSArray<NSString *> * _Nonnull)arguments environment:(NSDictionary<NSString *, NSString *> * _Nonnull)environment io:(FBProcessIO<id, id, id> * _Nonnull)io OBJC_DESIGNATED_INITIALIZER;
438
+ @property (nonatomic, readonly) NSUInteger hash;
439
+ - (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT;
440
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
441
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
442
+ @end
443
+
444
+ SWIFT_ENUM_FWD_DECL(NSUInteger, FBApplicationLaunchMode)
445
+ SWIFT_CLASS_NAMED("FBApplicationLaunchConfiguration")
446
+ @interface FBApplicationLaunchConfiguration : FBProcessLaunchConfiguration
447
+ @property (nonatomic, readonly, copy) NSString * _Nonnull bundleID;
448
+ @property (nonatomic, readonly, copy) NSString * _Nullable bundleName;
449
+ @property (nonatomic, readonly) BOOL waitForDebugger;
450
+ @property (nonatomic, readonly) enum FBApplicationLaunchMode launchMode;
451
+ - (nonnull instancetype)initWithBundleID:(NSString * _Nonnull)bundleID bundleName:(NSString * _Nullable)bundleName arguments:(NSArray<NSString *> * _Nonnull)arguments environment:(NSDictionary<NSString *, NSString *> * _Nonnull)environment waitForDebugger:(BOOL)waitForDebugger io:(FBProcessIO<id, id, id> * _Nonnull)io launchMode:(enum FBApplicationLaunchMode)launchMode OBJC_DESIGNATED_INITIALIZER;
452
+ @property (nonatomic, readonly) NSUInteger hash;
453
+ - (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT;
454
+ @property (nonatomic, readonly, copy) NSString * _Nonnull description;
455
+ - (nonnull instancetype)initWithArguments:(NSArray<NSString *> * _Nonnull)arguments environment:(NSDictionary<NSString *, NSString *> * _Nonnull)environment io:(FBProcessIO<id, id, id> * _Nonnull)io SWIFT_UNAVAILABLE;
456
+ @end
457
+
458
+ typedef SWIFT_ENUM_NAMED(NSUInteger, FBApplicationLaunchMode, "FBApplicationLaunchMode", open) {
459
+ FBApplicationLaunchModeFailIfRunning = 0,
460
+ FBApplicationLaunchModeForegroundIfRunning = 1,
461
+ FBApplicationLaunchModeRelaunchIfRunning = 2,
462
+ };
463
+
464
+ @class FBProcessSpawnConfiguration;
465
+ @class NSURL;
466
+ SWIFT_CLASS_NAMED("FBArchitectureProcessAdapter")
467
+ @interface FBArchitectureProcessAdapter : NSObject
468
+ /// Force binaries to be launched in desired architectures.
469
+ /// Convenience method for <code>adaptProcessConfiguration(_:toAnyArchitectureIn:hostArchitectures:queue:temporaryDirectory:)</code>
470
+ - (FBFuture<FBProcessSpawnConfiguration *> * _Nonnull)adaptProcessConfiguration:(FBProcessSpawnConfiguration * _Nonnull)processConfiguration toAnyArchitectureIn:(NSSet<FBArchitecture> * _Nonnull)requestedArchitectures queue:(dispatch_queue_t _Nonnull)queue temporaryDirectory:(NSURL * _Nonnull)temporaryDirectory SWIFT_WARN_UNUSED_RESULT;
471
+ /// Force binaries to be launched in desired architectures.
472
+ - (FBFuture<FBProcessSpawnConfiguration *> * _Nonnull)adaptProcessConfiguration:(FBProcessSpawnConfiguration * _Nonnull)processConfiguration toAnyArchitectureIn:(NSSet<FBArchitecture> * _Nonnull)requestedArchitectures hostArchitectures:(NSSet<FBArchitecture> * _Nonnull)hostArchitectures queue:(dispatch_queue_t _Nonnull)queue temporaryDirectory:(NSURL * _Nonnull)temporaryDirectory SWIFT_WARN_UNUSED_RESULT;
473
+ /// Returns supported architectures based on companion launch architecture and launch under rosetta determination.
474
+ + (NSSet<FBArchitecture> * _Nonnull)hostMachineSupportedArchitectures SWIFT_WARN_UNUSED_RESULT;
475
+ - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
476
+ @end
477
+
478
+ @class FBBinaryDescriptor;
479
+ @class FBCodesignProvider;
480
+ @protocol FBControlCoreLogger;
481
+ SWIFT_CLASS_NAMED("FBBundleDescriptor")
482
+ @interface FBBundleDescriptor : NSObject <NSCopying>
483
+ @property (nonatomic, readonly, copy) NSString * _Nonnull name;
484
+ @property (nonatomic, readonly, copy) NSString * _Nonnull identifier;
485
+ @property (nonatomic, readonly, copy) NSString * _Nonnull path;
486
+ @property (nonatomic, readonly, strong) FBBinaryDescriptor * _Nullable binary;
487
+ - (nonnull instancetype)initWithName:(NSString * _Nonnull)name identifier:(NSString * _Nonnull)identifier path:(NSString * _Nonnull)path binary:(FBBinaryDescriptor * _Nullable)binary OBJC_DESIGNATED_INITIALIZER;
488
+ + (FBBundleDescriptor * _Nullable)bundleFromPath:(NSString * _Nonnull)path error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
489
+ + (FBBundleDescriptor * _Nullable)bundleWithFallbackIdentifierFromPath:(NSString * _Nonnull)path error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
490
+ - (id _Nonnull)copyWithZone:(struct _NSZone * _Nullable)zone SWIFT_WARN_UNUSED_RESULT;
491
+ - (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT;
492
+ @property (nonatomic, readonly) NSUInteger hash;
493
+ @property (nonatomic, readonly, copy) NSString * _Nonnull description;
494
+ - (FBFuture<id> * _Nonnull)updatePathsForRelocationWithCodesign:(FBCodesignProvider * _Nonnull)codesign logger:(id <FBControlCoreLogger> _Nonnull)logger queue:(dispatch_queue_t _Nonnull)queue SWIFT_WARN_UNUSED_RESULT;
495
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
496
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
497
+ @end
498
+
499
+ @interface FBBundleDescriptor (SWIFT_EXTENSION(FBControlCore))
500
+ + (FBBundleDescriptor * _Nullable)findAppPathFromDirectory:(NSURL * _Nonnull)directory logger:(id <FBControlCoreLogger> _Nullable)logger error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
501
+ + (BOOL)isApplicationAtPath:(NSString * _Nonnull)path SWIFT_WARN_UNUSED_RESULT;
502
+ @end
503
+
504
+ SWIFT_CLASS_NAMED("FBCodesignProvider")
505
+ @interface FBCodesignProvider : NSObject
506
+ @property (nonatomic, readonly, copy) NSString * _Nonnull identityName;
507
+ + (nonnull instancetype)codeSignCommandWithIdentityName:(NSString * _Nonnull)identityName logger:(id <FBControlCoreLogger> _Nullable)logger SWIFT_WARN_UNUSED_RESULT;
508
+ + (nonnull instancetype)codeSignCommandWithAdHocIdentityWithLogger:(id <FBControlCoreLogger> _Nullable)logger SWIFT_WARN_UNUSED_RESULT;
509
+ - (FBFuture<NSNull *> * _Nonnull)signBundleAtPath:(NSString * _Nonnull)bundlePath SWIFT_WARN_UNUSED_RESULT;
510
+ - (FBFuture<NSNull *> * _Nonnull)recursivelySignBundleAtPath:(NSString * _Nonnull)bundlePath SWIFT_WARN_UNUSED_RESULT;
511
+ - (FBFuture<NSString *> * _Nonnull)cdHashForBundleAtPath:(NSString * _Nonnull)bundlePath SWIFT_WARN_UNUSED_RESULT;
512
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
513
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
514
+ @end
515
+
516
+ SWIFT_CLASS_NAMED("FBCollectionInformation")
517
+ @interface FBCollectionInformation : NSObject
518
+ + (NSString * _Nonnull)oneLineDescriptionFromArray:(NSArray * _Nonnull)array SWIFT_WARN_UNUSED_RESULT;
519
+ + (NSString * _Nonnull)oneLineDescriptionFromArray:(NSArray * _Nonnull)array atKeyPath:(NSString * _Nonnull)keyPath SWIFT_WARN_UNUSED_RESULT;
520
+ + (NSString * _Nonnull)oneLineDescriptionFromDictionary:(NSDictionary<NSString *, id> * _Nonnull)dictionary SWIFT_WARN_UNUSED_RESULT;
521
+ + (BOOL)isArrayHeterogeneous:(NSArray * _Nonnull)array withClass:(Class _Nonnull)cls SWIFT_WARN_UNUSED_RESULT;
522
+ + (BOOL)isDictionaryHeterogeneous:(NSDictionary * _Nonnull)dictionary keyClass:(Class _Nonnull)keyCls valueClass:(Class _Nonnull)valueCls SWIFT_WARN_UNUSED_RESULT;
523
+ - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
524
+ @end
525
+
526
+ @class NSIndexSet;
527
+ SWIFT_CLASS_NAMED("FBCollectionOperations")
528
+ @interface FBCollectionOperations : NSObject
529
+ + (NSArray<NSNumber *> * _Nonnull)arrayFromIndices:(NSIndexSet * _Nonnull)indices SWIFT_WARN_UNUSED_RESULT;
530
+ + (NSDictionary<NSString *, id> * _Nonnull)recursiveFilteredJSONSerializableRepresentationOfDictionary:(NSDictionary<NSString *, id> * _Nonnull)input SWIFT_WARN_UNUSED_RESULT;
531
+ + (NSArray * _Nonnull)recursiveFilteredJSONSerializableRepresentationOfArray:(NSArray * _Nonnull)input SWIFT_WARN_UNUSED_RESULT;
532
+ + (NSIndexSet * _Nonnull)indicesFromArray:(NSArray<NSNumber *> * _Nonnull)array SWIFT_WARN_UNUSED_RESULT;
533
+ + (id _Nullable)nullableValueForDictionary:(NSDictionary * _Nonnull)dictionary key:(id <NSCopying> _Nonnull)key SWIFT_WARN_UNUSED_RESULT;
534
+ + (NSArray * _Nonnull)arrayWithObject:(id _Nonnull)object count:(NSUInteger)count SWIFT_WARN_UNUSED_RESULT;
535
+ - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
536
+ @end
537
+
538
+ @interface FBCompositeDataConsumer (SWIFT_EXTENSION(FBControlCore)) <FBDataConsumer, FBDataConsumerLifecycle>
539
+ @end
540
+
541
+ /// A Protocol for Classes that receive Logger Messages.
542
+ SWIFT_PROTOCOL("_TtP13FBControlCore19FBControlCoreLogger_")
543
+ @protocol FBControlCoreLogger <NSObject>
544
+ /// Logs a Message with the provided String.
545
+ - (id <FBControlCoreLogger> _Nonnull)log:(NSString * _Nonnull)message;
546
+ /// Returns the Info Logger variant.
547
+ - (id <FBControlCoreLogger> _Nonnull)info SWIFT_WARN_UNUSED_RESULT;
548
+ /// Returns the Debug Logger variant.
549
+ - (id <FBControlCoreLogger> _Nonnull)debug SWIFT_WARN_UNUSED_RESULT;
550
+ /// Returns the Error Logger variant.
551
+ - (id <FBControlCoreLogger> _Nonnull)error SWIFT_WARN_UNUSED_RESULT;
552
+ /// Returns a Logger for a named ‘facility’ or ‘tag’.
553
+ - (id <FBControlCoreLogger> _Nonnull)withName:(NSString * _Nonnull)name SWIFT_WARN_UNUSED_RESULT;
554
+ /// Enables or Disables date formatting in the logger.
555
+ - (id <FBControlCoreLogger> _Nonnull)withDateFormatEnabled:(BOOL)enabled SWIFT_WARN_UNUSED_RESULT;
556
+ /// The Prefix for the Logger, if set.
557
+ @property (nonatomic, readonly, copy) NSString * _Nullable name;
558
+ /// The Current Log Level.
559
+ @property (nonatomic, readonly) FBControlCoreLogLevel level;
560
+ @end
561
+
562
+ @interface FBCompositeLogger (SWIFT_EXTENSION(FBControlCore)) <FBControlCoreLogger>
563
+ @end
564
+
565
+ @class NSDate;
566
+ @class NSError;
567
+ SWIFT_PROTOCOL_NAMED("FBCrashLogParser")
568
+ @protocol FBCrashLogParser <NSObject>
569
+ - (void)parseCrashLogFromString:(NSString * _Nonnull)str executablePathOut:(NSString * _Nonnull * _Nonnull)executablePathOut identifierOut:(NSString * _Nonnull * _Nonnull)identifierOut processNameOut:(NSString * _Nonnull * _Nonnull)processNameOut parentProcessNameOut:(NSString * _Nonnull * _Nonnull)parentProcessNameOut processIdentifierOut:(pid_t * _Nonnull)processIdentifierOut parentProcessIdentifierOut:(pid_t * _Nonnull)parentProcessIdentifierOut dateOut:(NSDate * _Nonnull * _Nonnull)dateOut exceptionDescription:(NSString * _Nonnull * _Nonnull)exceptionDescription crashedThreadDescription:(NSString * _Nonnull * _Nonnull)crashedThreadDescription error:(NSError * _Nullable * _Nullable)error;
570
+ @end
571
+
572
+ /// .ips file for macOS 12+ is two concatenated json strings.
573
+ /// 1st is metadata json, second is content json. Some of the fields from metadata repeats in content json.
574
+ /// Considering the facts that:
575
+ /// <ol>
576
+ /// <li>
577
+ /// The layout can be changed by apple easily
578
+ /// </li>
579
+ /// <li>
580
+ /// Json structure itself can be easily changed
581
+ /// </li>
582
+ /// <li>
583
+ /// Crashes is not often happening operation of idb
584
+ /// we prefer reliability over performance gain here and parse all json strings finding the fields that we need in all of json entries
585
+ /// </li>
586
+ /// </ol>
587
+ SWIFT_CLASS_NAMED("FBConcatedJSONCrashLogParser")
588
+ @interface FBConcatedJSONCrashLogParser : NSObject <FBCrashLogParser>
589
+ - (void)parseCrashLogFromString:(NSString * _Nonnull)str executablePathOut:(NSString * _Nonnull * _Nonnull)executablePathOut identifierOut:(NSString * _Nonnull * _Nonnull)identifierOut processNameOut:(NSString * _Nonnull * _Nonnull)processNameOut parentProcessNameOut:(NSString * _Nonnull * _Nonnull)parentProcessNameOut processIdentifierOut:(pid_t * _Nonnull)processIdentifierOut parentProcessIdentifierOut:(pid_t * _Nonnull)parentProcessIdentifierOut dateOut:(NSDate * _Nonnull * _Nonnull)dateOut exceptionDescription:(NSString * _Nonnull * _Nonnull)exceptionDescription crashedThreadDescription:(NSString * _Nonnull * _Nonnull)crashedThreadDescription error:(NSError * _Nullable * _Nullable)error;
590
+ - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
591
+ @end
592
+
593
+ SWIFT_CLASS_NAMED("FBConcatedJsonParser")
594
+ @interface FBConcatedJsonParser : NSObject
595
+ + (NSDictionary<NSString *, id> * _Nullable)parseConcatenatedJSONFromString:(NSString * _Nonnull)str error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
596
+ - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
597
+ @end
598
+
599
+ @class NSPredicate;
600
+ SWIFT_CLASS_NAMED("FBConcurrentCollectionOperations")
601
+ @interface FBConcurrentCollectionOperations : NSObject
602
+ + (NSArray * _Nonnull)generate:(NSUInteger)count withBlock:(id _Nonnull (^ _Nonnull)(NSUInteger))block SWIFT_WARN_UNUSED_RESULT;
603
+ + (NSArray * _Nonnull)map:(NSArray * _Nonnull)array withBlock:(id _Nonnull (^ _Nonnull)(id _Nonnull))block SWIFT_WARN_UNUSED_RESULT;
604
+ + (NSArray * _Nonnull)filter:(NSArray * _Nonnull)array predicate:(NSPredicate * _Nonnull)predicate SWIFT_WARN_UNUSED_RESULT;
605
+ + (NSArray * _Nonnull)mapFilter:(NSArray * _Nonnull)array map:(id _Nonnull (^ _Nonnull)(id _Nonnull))block predicate:(NSPredicate * _Nonnull)predicate SWIFT_WARN_UNUSED_RESULT;
606
+ + (NSArray * _Nonnull)filterMap:(NSArray * _Nonnull)array predicate:(NSPredicate * _Nonnull)predicate map:(id _Nonnull (^ _Nonnull)(id _Nonnull))block SWIFT_WARN_UNUSED_RESULT;
607
+ - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
608
+ @end
609
+
610
+ /// The mutating methods of a buffer. All methods are fully synchronized.
611
+ SWIFT_PROTOCOL("_TtP13FBControlCore18FBConsumableBuffer_")
612
+ @protocol FBConsumableBuffer <FBAccumulatingBuffer>
613
+ /// Consume the remainder of the buffer available, returning it as Data.
614
+ - (NSData * _Nonnull)consumeCurrentData SWIFT_WARN_UNUSED_RESULT;
615
+ /// Consume the remainder of the buffer available, returning it as a String.
616
+ - (NSString * _Nullable)consumeCurrentString SWIFT_WARN_UNUSED_RESULT;
617
+ /// Consumes an amount of data from the buffer.
618
+ - (NSData * _Nullable)consumeLength:(NSUInteger)length SWIFT_WARN_UNUSED_RESULT;
619
+ /// Consumes until data received.
620
+ - (NSData * _Nullable)consumeUntil:(NSData * _Nonnull)terminal SWIFT_WARN_UNUSED_RESULT;
621
+ /// Consume a line if one is available, returning it as Data.
622
+ - (NSData * _Nullable)consumeLineData SWIFT_WARN_UNUSED_RESULT;
623
+ /// Consume a line if one is available, returning it as a String.
624
+ - (NSString * _Nullable)consumeLineString SWIFT_WARN_UNUSED_RESULT;
625
+ @end
626
+
627
+ SWIFT_PROTOCOL("_TtP13FBControlCore15FBContainedFile_")
628
+ @protocol FBContainedFile <NSObject>
629
+ - (BOOL)removeItemWithError:(NSError * _Nullable * _Nullable)error;
630
+ - (NSArray<NSString *> * _Nullable)contentsOfDirectoryWithError:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
631
+ - (NSData * _Nullable)contentsOfFileWithError:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
632
+ - (BOOL)createDirectoryWithError:(NSError * _Nullable * _Nullable)error;
633
+ - (BOOL)fileExistsIsDirectory:(BOOL * _Nullable)isDirectoryOut SWIFT_WARN_UNUSED_RESULT;
634
+ - (BOOL)moveTo:(id <FBContainedFile> _Nonnull)destination error:(NSError * _Nullable * _Nullable)error;
635
+ - (BOOL)populateWithContentsOfHostPath:(NSString * _Nonnull)path error:(NSError * _Nullable * _Nullable)error;
636
+ - (BOOL)populateHostPathWithContents:(NSString * _Nonnull)path error:(NSError * _Nullable * _Nullable)error;
637
+ - (id <FBContainedFile> _Nullable)fileByAppendingPathComponent:(NSString * _Nonnull)component error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
638
+ @property (nonatomic, readonly, copy) NSString * _Nullable pathOnHostFileSystem;
639
+ @property (nonatomic, readonly, copy) NSDictionary<NSString *, NSString *> * _Nullable pathMapping;
640
+ @end
641
+
642
+ /// File container backed by a synchronous <code>FBContainedFile</code>. Each operation
643
+ /// resolves the target path and runs the synchronous file work on a serial
644
+ /// queue.
645
+ SWIFT_CLASS_NAMED("FBContainedFile_ContainedRoot")
646
+ @interface FBContainedFile_ContainedRoot : NSObject
647
+ - (nonnull instancetype)initWithRootFile:(id <FBContainedFile> _Nonnull)rootFile queue:(dispatch_queue_t _Nonnull)queue OBJC_DESIGNATED_INITIALIZER;
648
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
649
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
650
+ @end
651
+
652
+ SWIFT_CLASS("_TtC13FBControlCore18FBControlCoreError")
653
+ @interface FBControlCoreError : NSObject
654
+ - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
655
+ + (nonnull instancetype)describe:(NSString * _Nonnull)description SWIFT_WARN_UNUSED_RESULT;
656
+ - (nonnull instancetype)describe:(NSString * _Nonnull)description;
657
+ + (nonnull instancetype)causedBy:(NSError * _Nullable)cause SWIFT_WARN_UNUSED_RESULT;
658
+ - (nonnull instancetype)causedBy:(NSError * _Nullable)cause;
659
+ - (BOOL)failBool:(NSError * _Nullable * _Nullable)error;
660
+ - (int32_t)failInt:(NSError * _Nullable * _Nullable)error;
661
+ - (uint32_t)failUInt:(NSError * _Nullable * _Nullable)error;
662
+ - (CGRect)failRect:(NSError * _Nullable * _Nullable)error;
663
+ - (id _Nullable)fail:(NSError * _Nullable * _Nullable)error;
664
+ - (FBFuture<id> * _Nonnull)failFuture SWIFT_WARN_UNUSED_RESULT;
665
+ - (FBFutureContext<id> * _Nonnull)failFutureContext SWIFT_WARN_UNUSED_RESULT;
666
+ - (void * _Nullable)failPointer:(NSError * _Nullable * _Nullable)error;
667
+ - (nonnull instancetype)extraInfo:(NSString * _Nonnull)key value:(id _Nonnull)value;
668
+ - (nonnull instancetype)recursiveDescription;
669
+ - (nonnull instancetype)noRecursiveDescription;
670
+ - (nonnull instancetype)inDomain:(NSString * _Nonnull)domain;
671
+ - (nonnull instancetype)code:(NSInteger)code;
672
+ - (NSError * _Nonnull)build SWIFT_WARN_UNUSED_RESULT;
673
+ @property (nonatomic, readonly, copy) NSString * _Nonnull description;
674
+ @end
675
+
676
+ @interface FBControlCoreError (SWIFT_EXTENSION(FBControlCore))
677
+ + (NSError * _Nonnull)errorForDescription:(NSString * _Nonnull)description SWIFT_WARN_UNUSED_RESULT;
678
+ + (id _Nullable)failWithErrorMessage:(NSString * _Nonnull)errorMessage errorOut:(NSError * _Nullable * _Nullable)errorOut SWIFT_WARN_UNUSED_RESULT;
679
+ + (id _Nullable)failWithError:(NSError * _Nonnull)failureCause errorOut:(NSError * _Nullable * _Nullable)errorOut SWIFT_WARN_UNUSED_RESULT;
680
+ + (id _Nullable)failWithError:(NSError * _Nonnull)failureCause description:(NSString * _Nonnull)description errorOut:(NSError * _Nullable * _Nullable)errorOut SWIFT_WARN_UNUSED_RESULT;
681
+ + (BOOL)failBoolWithErrorMessage:(NSString * _Nonnull)errorMessage errorOut:(NSError * _Nullable * _Nullable)errorOut SWIFT_WARN_UNUSED_RESULT;
682
+ + (BOOL)failBoolWithError:(NSError * _Nonnull)failureCause errorOut:(NSError * _Nullable * _Nullable)errorOut;
683
+ + (BOOL)failBoolWithError:(NSError * _Nonnull)failureCause description:(NSString * _Nonnull)description errorOut:(NSError * _Nullable * _Nullable)errorOut;
684
+ + (FBFuture<id> * _Nonnull)failFutureWithError:(NSError * _Nonnull)error SWIFT_WARN_UNUSED_RESULT;
685
+ @end
686
+
687
+ SWIFT_CLASS_NAMED("FBControlCoreGlobalConfiguration")
688
+ @interface FBControlCoreGlobalConfiguration : NSObject
689
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly) NSTimeInterval fastTimeout;)
690
+ + (NSTimeInterval)fastTimeout SWIFT_WARN_UNUSED_RESULT;
691
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly) NSTimeInterval regularTimeout;)
692
+ + (NSTimeInterval)regularTimeout SWIFT_WARN_UNUSED_RESULT;
693
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly) NSTimeInterval slowTimeout;)
694
+ + (NSTimeInterval)slowTimeout SWIFT_WARN_UNUSED_RESULT;
695
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, strong) id <FBControlCoreLogger> _Nonnull defaultLogger;)
696
+ + (id <FBControlCoreLogger> _Nonnull)defaultLogger SWIFT_WARN_UNUSED_RESULT;
697
+ + (void)setDefaultLogger:(id <FBControlCoreLogger> _Nonnull)newValue;
698
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly) BOOL confirmCodesignaturesAreValid;)
699
+ + (BOOL)confirmCodesignaturesAreValid SWIFT_WARN_UNUSED_RESULT;
700
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSDictionary<NSString *, NSString *> * _Nonnull safeSubprocessEnvironment;)
701
+ + (NSDictionary<NSString *, NSString *> * _Nonnull)safeSubprocessEnvironment SWIFT_WARN_UNUSED_RESULT;
702
+ + (NSString * _Nonnull)description SWIFT_WARN_UNUSED_RESULT;
703
+ @property (nonatomic, readonly, copy) NSString * _Nonnull description;
704
+ - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
705
+ @end
706
+
707
+ @class FBCrashLogInfo;
708
+ @class NSDateFormatter;
709
+ SWIFT_CLASS_NAMED("FBCrashLog")
710
+ @interface FBCrashLog : NSObject <NSCopying>
711
+ @property (nonatomic, readonly, strong) FBCrashLogInfo * _Nonnull info;
712
+ @property (nonatomic, readonly, copy) NSString * _Nonnull contents;
713
+ - (nonnull instancetype)initWithInfo:(FBCrashLogInfo * _Nonnull)info contents:(NSString * _Nonnull)contents OBJC_DESIGNATED_INITIALIZER;
714
+ @property (nonatomic, readonly, copy) NSString * _Nonnull description;
715
+ - (id _Nonnull)copyWithZone:(struct _NSZone * _Nullable)zone SWIFT_WARN_UNUSED_RESULT;
716
+ + (NSDateFormatter * _Nonnull)dateFormatter SWIFT_WARN_UNUSED_RESULT;
717
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
718
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
719
+ @end
720
+
721
+ SWIFT_PROTOCOL("_TtP13FBControlCore18FBCrashLogCommands_")
722
+ @protocol FBCrashLogCommands <FBiOSTargetCommand>
723
+ - (FBFuture<FBCrashLogInfo *> * _Nonnull)notifyOfCrash:(NSPredicate * _Nonnull)predicate SWIFT_WARN_UNUSED_RESULT;
724
+ @end
725
+
726
+ SWIFT_CLASS_NAMED("FBCrashLogInfo")
727
+ @interface FBCrashLogInfo : NSObject <NSCopying>
728
+ @property (nonatomic, readonly, copy) NSString * _Nonnull crashPath;
729
+ @property (nonatomic, readonly, copy) NSString * _Nonnull executablePath;
730
+ @property (nonatomic, readonly, copy) NSString * _Nonnull identifier;
731
+ @property (nonatomic, readonly, copy) NSString * _Nonnull processName;
732
+ @property (nonatomic, readonly) pid_t processIdentifier;
733
+ @property (nonatomic, readonly, copy) NSString * _Nonnull parentProcessName;
734
+ @property (nonatomic, readonly) pid_t parentProcessIdentifier;
735
+ @property (nonatomic, readonly, copy) NSDate * _Nonnull date;
736
+ @property (nonatomic, readonly) FBCrashLogInfoProcessType processType;
737
+ @property (nonatomic, readonly, copy) NSString * _Nullable exceptionDescription;
738
+ @property (nonatomic, readonly, copy) NSString * _Nullable crashedThreadDescription;
739
+ @property (nonatomic, readonly, copy) NSString * _Nonnull name;
740
+ - (nonnull instancetype)initWithCrashPath:(NSString * _Nonnull)crashPath executablePath:(NSString * _Nonnull)executablePath identifier:(NSString * _Nonnull)identifier processName:(NSString * _Nonnull)processName processIdentifier:(pid_t)processIdentifier parentProcessName:(NSString * _Nonnull)parentProcessName parentProcessIdentifier:(pid_t)parentProcessIdentifier date:(NSDate * _Nonnull)date processType:(FBCrashLogInfoProcessType)processType exceptionDescription:(NSString * _Nullable)exceptionDescription crashedThreadDescription:(NSString * _Nullable)crashedThreadDescription OBJC_DESIGNATED_INITIALIZER;
741
+ + (FBCrashLogInfo * _Nullable)fromCrashLogAtPath:(NSString * _Nonnull)crashPath error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
742
+ + (BOOL)isParsableCrashLog:(NSData * _Nonnull)data SWIFT_WARN_UNUSED_RESULT;
743
+ @property (nonatomic, readonly, copy) NSString * _Nonnull description;
744
+ - (id _Nonnull)copyWithZone:(struct _NSZone * _Nullable)zone SWIFT_WARN_UNUSED_RESULT;
745
+ - (NSString * _Nullable)loadRawCrashLogStringWithError:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
746
+ + (NSArray<FBCrashLogInfo *> * _Nonnull)crashInfoAfterDate:(NSDate * _Nonnull)date logger:(id <FBControlCoreLogger> _Nullable)logger SWIFT_WARN_UNUSED_RESULT;
747
+ - (FBCrashLog * _Nullable)obtainCrashLogWithError:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
748
+ + (NSPredicate * _Nonnull)predicateForCrashLogsWithProcessID:(pid_t)processID SWIFT_WARN_UNUSED_RESULT;
749
+ + (NSPredicate * _Nonnull)predicateNewerThanDate:(NSDate * _Nonnull)date SWIFT_WARN_UNUSED_RESULT;
750
+ + (NSPredicate * _Nonnull)predicateOlderThanDate:(NSDate * _Nonnull)date SWIFT_WARN_UNUSED_RESULT;
751
+ + (NSPredicate * _Nonnull)predicateForIdentifier:(NSString * _Nonnull)identifier SWIFT_WARN_UNUSED_RESULT;
752
+ + (NSPredicate * _Nonnull)predicateForName:(NSString * _Nonnull)name SWIFT_WARN_UNUSED_RESULT;
753
+ + (NSPredicate * _Nonnull)predicateForExecutablePathContains:(NSString * _Nonnull)contains SWIFT_WARN_UNUSED_RESULT;
754
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSArray<NSString *> * _Nonnull diagnosticReportsPaths;)
755
+ + (NSArray<NSString *> * _Nonnull)diagnosticReportsPaths SWIFT_WARN_UNUSED_RESULT;
756
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
757
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
758
+ @end
759
+
760
+ @class FBCrashLogStore;
761
+ SWIFT_CLASS_NAMED("FBCrashLogNotifier")
762
+ @interface FBCrashLogNotifier : NSObject
763
+ @property (nonatomic, readonly, strong) FBCrashLogStore * _Nonnull store;
764
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) FBCrashLogNotifier * _Nonnull sharedInstance;)
765
+ + (FBCrashLogNotifier * _Nonnull)sharedInstance SWIFT_WARN_UNUSED_RESULT;
766
+ - (BOOL)startListening:(BOOL)onlyNew SWIFT_WARN_UNUSED_RESULT;
767
+ - (FBFuture<FBCrashLogInfo *> * _Nonnull)nextCrashLogForPredicate:(NSPredicate * _Nonnull)predicate SWIFT_WARN_UNUSED_RESULT;
768
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
769
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
770
+ @end
771
+
772
+ SWIFT_CLASS_NAMED("FBCrashLogStore")
773
+ @interface FBCrashLogStore : NSObject
774
+ + (nonnull instancetype)storeForDirectories:(NSArray<NSString *> * _Nonnull)directories logger:(id <FBControlCoreLogger> _Nonnull)logger SWIFT_WARN_UNUSED_RESULT;
775
+ - (NSArray<FBCrashLogInfo *> * _Nonnull)ingestAllExistingInDirectory;
776
+ - (FBCrashLogInfo * _Nullable)ingestCrashLogAtPath:(NSString * _Nonnull)path SWIFT_WARN_UNUSED_RESULT;
777
+ - (FBCrashLogInfo * _Nullable)ingestCrashLogData:(NSData * _Nonnull)data name:(NSString * _Nonnull)name SWIFT_WARN_UNUSED_RESULT;
778
+ - (FBCrashLogInfo * _Nullable)removeCrashLogAtPath:(NSString * _Nonnull)path SWIFT_WARN_UNUSED_RESULT;
779
+ - (FBCrashLogInfo * _Nullable)ingestedCrashLogWithName:(NSString * _Nonnull)name SWIFT_WARN_UNUSED_RESULT;
780
+ - (NSArray<FBCrashLogInfo *> * _Nonnull)allIngestedCrashLogs SWIFT_WARN_UNUSED_RESULT;
781
+ - (FBFuture<FBCrashLogInfo *> * _Nonnull)nextCrashLogForMatchingPredicate:(NSPredicate * _Nonnull)predicate SWIFT_WARN_UNUSED_RESULT;
782
+ - (NSArray<FBCrashLogInfo *> * _Nonnull)ingestedCrashLogsMatchingPredicate:(NSPredicate * _Nonnull)predicate SWIFT_WARN_UNUSED_RESULT;
783
+ - (NSArray<FBCrashLogInfo *> * _Nonnull)pruneCrashLogsMatchingPredicate:(NSPredicate * _Nonnull)predicate SWIFT_WARN_UNUSED_RESULT;
784
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
785
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
786
+ @end
787
+
788
+ /// Internal forwarding protocol used by FBDataBuffer implementations.
789
+ SWIFT_PROTOCOL("_TtP13FBControlCore22FBDataBuffer_Forwarder_")
790
+ @protocol FBDataBuffer_Forwarder <NSObject>
791
+ - (void)run:(id <FBConsumableBuffer> _Nonnull)buffer;
792
+ @property (nonatomic, readonly, strong) id <FBDataConsumer> _Nonnull consumer;
793
+ @end
794
+
795
+ /// Consumer which consumes the data asynchronously.
796
+ SWIFT_PROTOCOL("_TtP13FBControlCore19FBDataConsumerAsync_")
797
+ @protocol FBDataConsumerAsync <NSObject>
798
+ /// Number of submitted data that has not been consumed yet.
799
+ - (NSInteger)unprocessedDataCount SWIFT_WARN_UNUSED_RESULT;
800
+ @end
801
+
802
+ /// Consumer which consumes the data synchronously in the same context as the caller invoking consumeData.
803
+ SWIFT_PROTOCOL("_TtP13FBControlCore18FBDataConsumerSync_")
804
+ @protocol FBDataConsumerSync <NSObject>
805
+ @end
806
+
807
+ /// A protocol that represents an operation of indeterminate length.
808
+ SWIFT_PROTOCOL("_TtP13FBControlCore20FBiOSTargetOperation_")
809
+ @protocol FBiOSTargetOperation <NSObject>
810
+ /// A Future that resolves when the operation has completed.
811
+ @property (nonatomic, readonly, strong) FBFuture<NSNull *> * _Nonnull completed;
812
+ @end
813
+
814
+ SWIFT_PROTOCOL("_TtP13FBControlCore13FBDebugServer_")
815
+ @protocol FBDebugServer <FBiOSTargetOperation>
816
+ @property (nonatomic, readonly, copy) NSArray<NSString *> * _Nonnull lldbBootstrapCommands;
817
+ @end
818
+
819
+ SWIFT_CLASS_NAMED("FBDeveloperDiskImage")
820
+ @interface FBDeveloperDiskImage : NSObject
821
+ @property (nonatomic, readonly, copy) NSString * _Nonnull diskImagePath;
822
+ @property (nonatomic, readonly, copy) NSData * _Nonnull signature;
823
+ @property (nonatomic, readonly) NSOperatingSystemVersion version;
824
+ @property (nonatomic, readonly) NSOperatingSystemVersion xcodeVersion;
825
+ + (FBDeveloperDiskImage * _Nonnull)unknownDiskImageWithSignature:(NSData * _Nonnull)signature SWIFT_WARN_UNUSED_RESULT;
826
+ + (FBDeveloperDiskImage * _Nullable)developerDiskImage:(NSOperatingSystemVersion)targetVersion logger:(id <FBControlCoreLogger> _Nullable)logger error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
827
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSArray<FBDeveloperDiskImage *> * _Nonnull allDiskImages;)
828
+ + (NSArray<FBDeveloperDiskImage *> * _Nonnull)allDiskImages SWIFT_WARN_UNUSED_RESULT;
829
+ + (NSString * _Nullable)pathForDeveloperSymbols:(NSString * _Nonnull)buildVersion logger:(id <FBControlCoreLogger> _Nonnull)logger error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
830
+ + (FBDeveloperDiskImage * _Nullable)bestImageForImages:(NSArray<FBDeveloperDiskImage *> * _Nonnull)images targetVersion:(NSOperatingSystemVersion)targetVersion logger:(id <FBControlCoreLogger> _Nullable)logger error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
831
+ @property (nonatomic, readonly, copy) NSString * _Nonnull description;
832
+ - (NSComparisonResult)compare:(FBDeveloperDiskImage * _Nonnull)other SWIFT_WARN_UNUSED_RESULT;
833
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
834
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
835
+ @end
836
+
837
+ SWIFT_CLASS_NAMED("FBDeviceType")
838
+ @interface FBDeviceType : NSObject <NSCopying>
839
+ @property (nonatomic, readonly) FBDeviceModel _Nonnull model;
840
+ @property (nonatomic, readonly, copy) NSSet<NSString *> * _Nonnull productTypes;
841
+ @property (nonatomic, readonly) FBArchitecture _Nonnull deviceArchitecture;
842
+ @property (nonatomic, readonly) FBControlCoreProductFamily family;
843
+ + (FBDeviceType * _Nonnull)genericWithName:(NSString * _Nonnull)name SWIFT_WARN_UNUSED_RESULT;
844
+ - (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT;
845
+ @property (nonatomic, readonly) NSUInteger hash;
846
+ @property (nonatomic, readonly, copy) NSString * _Nonnull description;
847
+ - (id _Nonnull)copyWithZone:(struct _NSZone * _Nullable)zone SWIFT_WARN_UNUSED_RESULT;
848
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
849
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
850
+ @end
851
+
852
+ /// A consumer of dispatch_data.
853
+ SWIFT_PROTOCOL("_TtP13FBControlCore22FBDispatchDataConsumer_")
854
+ @protocol FBDispatchDataConsumer <NSObject>
855
+ /// Consumes the provided binary data.
856
+ - (void)consumeData:(dispatch_data_t _Nonnull)data;
857
+ /// Consumes an end-of-file.
858
+ - (void)consumeEndOfFile;
859
+ @end
860
+
861
+ @class FBEventReporterSubject;
862
+ SWIFT_PROTOCOL_NAMED("FBEventReporter")
863
+ @protocol FBEventReporter <NSObject>
864
+ /// Reports a Subject.
865
+ - (void)report:(FBEventReporterSubject * _Nonnull)subject;
866
+ /// Add metadata to attach to each report.
867
+ - (void)addMetadata:(NSDictionary<NSString *, NSString *> * _Nonnull)metadata;
868
+ /// Gets the total metadata.
869
+ @property (nonatomic, readonly, copy) NSDictionary<NSString *, NSString *> * _Nonnull metadata;
870
+ @end
871
+
872
+ SWIFT_CLASS_NAMED("FBEventReporterSubject")
873
+ @interface FBEventReporterSubject : NSObject
874
+ @property (nonatomic, readonly, copy) NSString * _Nonnull eventName;
875
+ @property (nonatomic, readonly, copy) NSArray<NSString *> * _Nullable arguments;
876
+ @property (nonatomic, readonly, strong) NSNumber * _Nullable duration;
877
+ @property (nonatomic, readonly, strong) NSNumber * _Nullable size;
878
+ @property (nonatomic, readonly, copy) NSString * _Nullable message;
879
+ - (nonnull instancetype)initForEvent:(NSString * _Nonnull)eventName;
880
+ - (nonnull instancetype)initForStartedCall:(NSString * _Nonnull)call arguments:(NSArray<NSString *> * _Nonnull)arguments;
881
+ - (nonnull instancetype)initForSuccessfulCall:(NSString * _Nonnull)call duration:(NSTimeInterval)duration size:(NSNumber * _Nullable)size arguments:(NSArray<NSString *> * _Nonnull)arguments;
882
+ - (nonnull instancetype)initForFailingCall:(NSString * _Nonnull)call duration:(NSTimeInterval)duration message:(NSString * _Nonnull)message size:(NSNumber * _Nullable)size arguments:(NSArray<NSString *> * _Nonnull)arguments;
883
+ + (FBEventReporterSubject * _Nonnull)subjectForEvent:(NSString * _Nonnull)eventName SWIFT_WARN_UNUSED_RESULT;
884
+ + (FBEventReporterSubject * _Nonnull)subjectForStartedCall:(NSString * _Nonnull)call arguments:(NSArray<NSString *> * _Nonnull)arguments SWIFT_WARN_UNUSED_RESULT;
885
+ + (FBEventReporterSubject * _Nonnull)subjectForSuccessfulCall:(NSString * _Nonnull)call duration:(NSTimeInterval)duration size:(NSNumber * _Nullable)size arguments:(NSArray<NSString *> * _Nonnull)arguments SWIFT_WARN_UNUSED_RESULT;
886
+ + (FBEventReporterSubject * _Nonnull)subjectForFailingCall:(NSString * _Nonnull)call duration:(NSTimeInterval)duration message:(NSString * _Nonnull)message size:(NSNumber * _Nullable)size arguments:(NSArray<NSString *> * _Nonnull)arguments SWIFT_WARN_UNUSED_RESULT;
887
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
888
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
889
+ @end
890
+
891
+ /// File container backed by <code>AsyncProvisioningProfileCommands</code>.
892
+ SWIFT_CLASS_NAMED("FBFileContainer_ProvisioningProfile")
893
+ @interface FBFileContainer_ProvisioningProfile : NSObject
894
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
895
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
896
+ @end
897
+
898
+ /// A Protocol for defining file reading.
899
+ SWIFT_PROTOCOL("_TtP13FBControlCore20FBFileReaderProtocol_")
900
+ @protocol FBFileReaderProtocol
901
+ /// Starts the reading the file.
902
+ - (FBFuture<NSNull *> * _Nonnull)startReading;
903
+ /// Stops reading the file.
904
+ - (FBFuture<NSNumber *> * _Nonnull)stopReading;
905
+ /// Waits for the reader to finish reading, backing off to stopping in the event of a timeout.
906
+ - (FBFuture<NSNumber *> * _Nonnull)finishedReadingWithTimeout:(NSTimeInterval)timeout;
907
+ /// The current state of the file reader.
908
+ @property (nonatomic, readonly) FBFileReaderState state;
909
+ /// A Future that resolves when the reading of the file handle has no pending operations on the file descriptor.
910
+ @property (nonatomic, readonly, strong) FBFuture<NSNumber *> * _Nonnull finishedReading;
911
+ @end
912
+
913
+ SWIFT_CLASS_NAMED("FBFileReader")
914
+ @interface FBFileReader : NSObject <FBFileReaderProtocol>
915
+ @property (nonatomic, readonly) FBFileReaderState state;
916
+ + (nonnull instancetype)readerWithFileDescriptor:(int32_t)fileDescriptor closeOnEndOfFile:(BOOL)closeOnEndOfFile consumer:(id <FBDataConsumer> _Nonnull)consumer logger:(id <FBControlCoreLogger> _Nullable)logger SWIFT_WARN_UNUSED_RESULT;
917
+ + (nonnull instancetype)dispatchDataReaderWithFileDescriptor:(int32_t)fileDescriptor closeOnEndOfFile:(BOOL)closeOnEndOfFile consumer:(id <FBDispatchDataConsumer> _Nonnull)consumer logger:(id <FBControlCoreLogger> _Nullable)logger SWIFT_WARN_UNUSED_RESULT;
918
+ + (FBFuture<FBFileReader *> * _Nonnull)readerWithFilePath:(NSString * _Nonnull)filePath consumer:(id <FBDataConsumer> _Nonnull)consumer logger:(id <FBControlCoreLogger> _Nullable)logger SWIFT_WARN_UNUSED_RESULT;
919
+ @property (nonatomic, readonly, copy) NSString * _Nonnull description;
920
+ - (FBFuture<NSNull *> * _Nonnull)startReading SWIFT_WARN_UNUSED_RESULT;
921
+ - (FBFuture<NSNumber *> * _Nonnull)stopReading SWIFT_WARN_UNUSED_RESULT;
922
+ - (FBFuture<NSNumber *> * _Nonnull)finishedReadingWithTimeout:(NSTimeInterval)timeout SWIFT_WARN_UNUSED_RESULT;
923
+ @property (nonatomic, readonly, strong) FBFuture<NSNumber *> * _Nonnull finishedReading;
924
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
925
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
926
+ @end
927
+
928
+ SWIFT_CLASS_NAMED("FBFileWriter")
929
+ @interface FBFileWriter : NSObject
930
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) id <FBDataConsumer> _Nonnull nullWriter;)
931
+ + (id <FBDataConsumer> _Nonnull)nullWriter SWIFT_WARN_UNUSED_RESULT;
932
+ + (FBFuture<id> * _Nonnull)asyncDispatchDataWriterWithFileDescriptor:(int32_t)fileDescriptor closeOnEndOfFile:(BOOL)closeOnEndOfFile SWIFT_WARN_UNUSED_RESULT;
933
+ + (id <FBDataConsumer, FBDataConsumerLifecycle> _Nonnull)syncWriterWithFileDescriptor:(int32_t)fileDescriptor closeOnEndOfFile:(BOOL)closeOnEndOfFile SWIFT_WARN_UNUSED_RESULT;
934
+ + (id <FBDataConsumer, FBDataConsumerLifecycle> _Nullable)asyncWriterWithFileDescriptor:(int32_t)fileDescriptor closeOnEndOfFile:(BOOL)closeOnEndOfFile queue:(dispatch_queue_t _Nonnull)queue error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
935
+ + (id <FBDataConsumer, FBDataConsumerLifecycle> _Nullable)asyncWriterWithFileDescriptor:(int32_t)fileDescriptor closeOnEndOfFile:(BOOL)closeOnEndOfFile error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
936
+ + (id <FBDataConsumer, FBDataConsumerLifecycle> _Nullable)syncWriterForFilePath:(NSString * _Nonnull)filePath error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
937
+ + (FBFuture<id> * _Nonnull)asyncWriterForFilePath:(NSString * _Nonnull)filePath SWIFT_WARN_UNUSED_RESULT;
938
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
939
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
940
+ @end
941
+
942
+ /// The Delegate for a Context Manager
943
+ SWIFT_PROTOCOL("_TtP13FBControlCore30FBFutureContextManagerDelegate_")
944
+ @protocol FBFutureContextManagerDelegate <NSObject>
945
+ /// Prepare the Resource.
946
+ /// \param logger the logger to use.
947
+ ///
948
+ ///
949
+ /// returns:
950
+ /// a Future that resolves with the prepared context.
951
+ - (FBFuture<id> * _Nonnull)prepare:(id <FBControlCoreLogger> _Nonnull)logger SWIFT_WARN_UNUSED_RESULT;
952
+ /// Teardown the resource.
953
+ /// \param context the context to use.
954
+ ///
955
+ /// \param logger the logger to use.
956
+ ///
957
+ ///
958
+ /// returns:
959
+ /// a Future wrapping NSNull.
960
+ - (FBFuture<NSNull *> * _Nonnull)teardown:(id _Nonnull)context logger:(id <FBControlCoreLogger> _Nonnull)logger;
961
+ /// The Name of the Resource.
962
+ @property (nonatomic, readonly, copy) NSString * _Nonnull contextName;
963
+ /// The amount of time to allow the resource to be held with no-one utilizing it.
964
+ /// This is useful for ensuring that the same connection
965
+ @property (nonatomic, readonly, strong) NSNumber * _Nullable contextPoolTimeout;
966
+ /// Allows the context to be shared.
967
+ @property (nonatomic, readonly) BOOL isContextSharable;
968
+ @end
969
+
970
+ SWIFT_CLASS_NAMED("FBInstalledApplication")
971
+ @interface FBInstalledApplication : NSObject <NSCopying>
972
+ @property (nonatomic, readonly, strong) FBBundleDescriptor * _Nonnull bundle;
973
+ @property (nonatomic, readonly) FBApplicationInstallType installType;
974
+ @property (nonatomic, readonly, copy) NSString * _Nullable dataContainer;
975
+ @property (nonatomic, readonly, copy) NSString * _Nonnull installTypeString;
976
+ + (FBInstalledApplication * _Nonnull)installedApplicationWithBundle:(FBBundleDescriptor * _Nonnull)bundle installType:(FBApplicationInstallType)installType dataContainer:(NSString * _Nullable)dataContainer SWIFT_WARN_UNUSED_RESULT;
977
+ + (FBInstalledApplication * _Nonnull)installedApplicationWithBundle:(FBBundleDescriptor * _Nonnull)bundle installTypeString:(NSString * _Nullable)installTypeString signerIdentity:(NSString * _Nullable)signerIdentity dataContainer:(NSString * _Nullable)dataContainer SWIFT_WARN_UNUSED_RESULT;
978
+ - (nonnull instancetype)initWithBundle:(FBBundleDescriptor * _Nonnull)bundle installType:(FBApplicationInstallType)installType dataContainer:(NSString * _Nullable)dataContainer OBJC_DESIGNATED_INITIALIZER;
979
+ - (nonnull instancetype)initWithBundle:(FBBundleDescriptor * _Nonnull)bundle installTypeString:(NSString * _Nullable)installTypeString signerIdentity:(NSString * _Nullable)signerIdentity dataContainer:(NSString * _Nullable)dataContainer;
980
+ @property (nonatomic, readonly) NSUInteger hash;
981
+ - (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT;
982
+ @property (nonatomic, readonly, copy) NSString * _Nonnull description;
983
+ - (id _Nonnull)copyWithZone:(struct _NSZone * _Nullable)zone SWIFT_WARN_UNUSED_RESULT;
984
+ + (NSString * _Nonnull)stringFromApplicationInstallType:(FBApplicationInstallType)installType SWIFT_WARN_UNUSED_RESULT;
985
+ + (FBApplicationInstallType)installTypeFromString:(NSString * _Nullable)installTypeString signerIdentity:(NSString * _Nullable)signerIdentity SWIFT_WARN_UNUSED_RESULT;
986
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
987
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
988
+ @end
989
+
990
+ @class FBInstrumentsTimings;
991
+ SWIFT_CLASS_NAMED("FBInstrumentsConfiguration")
992
+ @interface FBInstrumentsConfiguration : NSObject <NSCopying>
993
+ @property (nonatomic, readonly, copy) NSString * _Nonnull templateName;
994
+ @property (nonatomic, readonly, copy) NSString * _Nonnull targetApplication;
995
+ @property (nonatomic, readonly, copy) NSDictionary<NSString *, NSString *> * _Nonnull appEnvironment;
996
+ @property (nonatomic, readonly, copy) NSArray<NSString *> * _Nonnull appArguments;
997
+ @property (nonatomic, readonly, copy) NSArray<NSString *> * _Nonnull toolArguments;
998
+ @property (nonatomic, readonly, strong) FBInstrumentsTimings * _Nonnull timings;
999
+ + (FBInstrumentsConfiguration * _Nonnull)configurationWithTemplateName:(NSString * _Nonnull)templateName targetApplication:(NSString * _Nonnull)targetApplication appEnvironment:(NSDictionary<NSString *, NSString *> * _Nonnull)appEnvironment appArguments:(NSArray<NSString *> * _Nonnull)appArguments toolArguments:(NSArray<NSString *> * _Nonnull)toolArguments timings:(FBInstrumentsTimings * _Nonnull)timings SWIFT_WARN_UNUSED_RESULT;
1000
+ - (nonnull instancetype)initWithTemplateName:(NSString * _Nonnull)templateName targetApplication:(NSString * _Nonnull)targetApplication appEnvironment:(NSDictionary<NSString *, NSString *> * _Nonnull)appEnvironment appArguments:(NSArray<NSString *> * _Nonnull)appArguments toolArguments:(NSArray<NSString *> * _Nonnull)toolArguments timings:(FBInstrumentsTimings * _Nonnull)timings OBJC_DESIGNATED_INITIALIZER;
1001
+ @property (nonatomic, readonly, copy) NSString * _Nonnull description;
1002
+ - (id _Nonnull)copyWithZone:(struct _NSZone * _Nullable)zone SWIFT_WARN_UNUSED_RESULT;
1003
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1004
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1005
+ @end
1006
+
1007
+ SWIFT_CLASS_NAMED("FBInstrumentsTimings")
1008
+ @interface FBInstrumentsTimings : NSObject
1009
+ @property (nonatomic, readonly) NSTimeInterval terminateTimeout;
1010
+ @property (nonatomic, readonly) NSTimeInterval launchRetryTimeout;
1011
+ @property (nonatomic, readonly) NSTimeInterval launchErrorTimeout;
1012
+ @property (nonatomic, readonly) NSTimeInterval operationDuration;
1013
+ + (FBInstrumentsTimings * _Nonnull)timingsWithTerminateTimeout:(NSTimeInterval)terminateTimeout launchRetryTimeout:(NSTimeInterval)launchRetryTimeout launchErrorTimeout:(NSTimeInterval)launchErrorTimeout operationDuration:(NSTimeInterval)operationDuration SWIFT_WARN_UNUSED_RESULT;
1014
+ - (nonnull instancetype)initWithTerminateTimeout:(NSTimeInterval)terminateTimeout launchRetryTimeout:(NSTimeInterval)launchRetryTimeout launchErrorTimeout:(NSTimeInterval)launchErrorTimeout operationDuration:(NSTimeInterval)operationDuration OBJC_DESIGNATED_INITIALIZER;
1015
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1016
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1017
+ @end
1018
+
1019
+ /// An in-memory representation of a launched application.
1020
+ /// This is distinct from FBSubprocess, as exit codes for the process are not available.
1021
+ /// However, an event for when termination of the application occurs is communicated through a Future.
1022
+ SWIFT_PROTOCOL("_TtP13FBControlCore21FBLaunchedApplication_")
1023
+ @protocol FBLaunchedApplication <NSObject>
1024
+ /// The Bundle Identifier of the Launched Application.
1025
+ @property (nonatomic, readonly, copy) NSString * _Nonnull bundleID;
1026
+ /// The Process Identifier of the Launched Application.
1027
+ @property (nonatomic, readonly) pid_t processIdentifier;
1028
+ /// A future that resolves when the Application has terminated.
1029
+ /// Cancelling this Future will cause the application to terminate.
1030
+ /// Exit code/Signal status of the launched process is not available.
1031
+ @property (nonatomic, readonly, strong) FBFuture<NSNull *> * _Nonnull applicationTerminated;
1032
+ @end
1033
+
1034
+ @interface FBLoggingDataConsumer (SWIFT_EXTENSION(FBControlCore)) <FBDataConsumer>
1035
+ @end
1036
+
1037
+ /// A Consumable buffer that also allows forwarding and notifying.
1038
+ SWIFT_PROTOCOL("_TtP13FBControlCore17FBNotifyingBuffer_")
1039
+ @protocol FBNotifyingBuffer <FBConsumableBuffer>
1040
+ /// Forwards to another data consumer, notifying every time a terminal is passed.
1041
+ - (BOOL)consume:(id <FBDataConsumer> _Nonnull)consumer onQueue:(dispatch_queue_t _Nullable)queue untilTerminal:(NSData * _Nonnull)terminal error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
1042
+ /// Notifies when there has been consumption to a terminal.
1043
+ - (FBFuture<NSData *> * _Nonnull)consumeAndNotifyWhen:(NSData * _Nonnull)terminal SWIFT_WARN_UNUSED_RESULT;
1044
+ /// Consumes based upon a fixed-length header, that can be parsed.
1045
+ - (FBFuture<NSData *> * _Nonnull)consumeHeaderLength:(NSUInteger)headerLength derivedLength:(NSUInteger (^ _Nonnull)(NSData * _Nonnull))derivedLength SWIFT_WARN_UNUSED_RESULT;
1046
+ @end
1047
+
1048
+ @interface FBNullDataConsumer (SWIFT_EXTENSION(FBControlCore)) <FBDataConsumer>
1049
+ @end
1050
+
1051
+ @class NSDecimalNumber;
1052
+ SWIFT_CLASS_NAMED("FBOSVersion")
1053
+ @interface FBOSVersion : NSObject <NSCopying>
1054
+ @property (nonatomic, readonly) FBOSVersionName _Nonnull name;
1055
+ @property (nonatomic, readonly, copy) NSSet<NSNumber *> * _Nonnull families;
1056
+ + (FBOSVersion * _Nonnull)genericWithName:(NSString * _Nonnull)name SWIFT_WARN_UNUSED_RESULT;
1057
+ + (NSOperatingSystemVersion)operatingSystemVersionFromName:(NSString * _Nonnull)name SWIFT_WARN_UNUSED_RESULT;
1058
+ @property (nonatomic, readonly, copy) NSString * _Nonnull versionString;
1059
+ @property (nonatomic, readonly, strong) NSDecimalNumber * _Nonnull number;
1060
+ @property (nonatomic, readonly) NSOperatingSystemVersion version;
1061
+ - (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT;
1062
+ @property (nonatomic, readonly) NSUInteger hash;
1063
+ @property (nonatomic, readonly, copy) NSString * _Nonnull description;
1064
+ - (id _Nonnull)copyWithZone:(struct _NSZone * _Nullable)zone SWIFT_WARN_UNUSED_RESULT;
1065
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1066
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1067
+ @end
1068
+
1069
+ /// This parser handles old plain text implementation of crash results
1070
+ SWIFT_CLASS_NAMED("FBPlainTextCrashLogParser")
1071
+ @interface FBPlainTextCrashLogParser : NSObject <FBCrashLogParser>
1072
+ - (void)parseCrashLogFromString:(NSString * _Nonnull)str executablePathOut:(NSString * _Nonnull * _Nonnull)executablePathOut identifierOut:(NSString * _Nonnull * _Nonnull)identifierOut processNameOut:(NSString * _Nonnull * _Nonnull)processNameOut parentProcessNameOut:(NSString * _Nonnull * _Nonnull)parentProcessNameOut processIdentifierOut:(pid_t * _Nonnull)processIdentifierOut parentProcessIdentifierOut:(pid_t * _Nonnull)parentProcessIdentifierOut dateOut:(NSDate * _Nonnull * _Nonnull)dateOut exceptionDescription:(NSString * _Nonnull * _Nonnull)exceptionDescription crashedThreadDescription:(NSString * _Nonnull * _Nonnull)crashedThreadDescription error:(NSError * _Nullable * _Nullable)error;
1073
+ - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
1074
+ @end
1075
+
1076
+ /// Process Output that can be provided through a file.
1077
+ SWIFT_PROTOCOL("_TtP13FBControlCore19FBProcessFileOutput_")
1078
+ @protocol FBProcessFileOutput <NSObject>
1079
+ /// The File Path to write to.
1080
+ @property (nonatomic, readonly, copy) NSString * _Nonnull filePath;
1081
+ /// Should be called just after the file path has been written to.
1082
+ - (FBFuture<NSNull *> * _Nonnull)startReading SWIFT_WARN_UNUSED_RESULT;
1083
+ /// Should be called just after the file has stopped being written to.
1084
+ - (FBFuture<NSNull *> * _Nonnull)stopReading SWIFT_WARN_UNUSED_RESULT;
1085
+ @end
1086
+
1087
+ SWIFT_CLASS_NAMED("FBProcessInfo")
1088
+ @interface FBProcessInfo : NSObject <NSCopying>
1089
+ @property (nonatomic, readonly) pid_t processIdentifier;
1090
+ @property (nonatomic, readonly, copy) NSString * _Nonnull launchPath;
1091
+ @property (nonatomic, readonly, copy) NSArray<NSString *> * _Nonnull arguments;
1092
+ @property (nonatomic, readonly, copy) NSDictionary<NSString *, NSString *> * _Nonnull environment;
1093
+ @property (nonatomic, readonly, copy) NSString * _Nonnull processName;
1094
+ - (nonnull instancetype)initWithProcessIdentifier:(pid_t)processIdentifier launchPath:(NSString * _Nonnull)launchPath arguments:(NSArray<NSString *> * _Nonnull)arguments environment:(NSDictionary<NSString *, NSString *> * _Nonnull)environment OBJC_DESIGNATED_INITIALIZER;
1095
+ @property (nonatomic, readonly) NSUInteger hash;
1096
+ - (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT;
1097
+ @property (nonatomic, readonly, copy) NSString * _Nonnull description;
1098
+ - (id _Nonnull)copyWithZone:(struct _NSZone * _Nullable)zone SWIFT_WARN_UNUSED_RESULT;
1099
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1100
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1101
+ @end
1102
+
1103
+ @class FBProcessStreamAttachment;
1104
+ /// A Protocol that wraps the standard stream stdout, stderr, stdin.
1105
+ SWIFT_PROTOCOL("_TtP13FBControlCore16FBStandardStream_")
1106
+ @protocol FBStandardStream <NSObject>
1107
+ /// Attaches to the output, returning an FBProcessStreamAttachment.
1108
+ - (FBFuture<FBProcessStreamAttachment *> * _Nonnull)attach SWIFT_WARN_UNUSED_RESULT;
1109
+ /// Tears down the output.
1110
+ - (FBFuture<NSNull *> * _Nonnull)detach SWIFT_WARN_UNUSED_RESULT;
1111
+ @end
1112
+
1113
+ @interface FBProcessInput<WrappedType> (SWIFT_EXTENSION(FBControlCore)) <FBStandardStream>
1114
+ @end
1115
+
1116
+ SWIFT_CLASS_NAMED("FBProcessLogOperation")
1117
+ @interface FBProcessLogOperation : NSObject
1118
+ @property (nonatomic, readonly, strong) FBSubprocess<id, id, id> * _Nonnull process;
1119
+ @property (nonatomic, readonly, strong) id <FBDataConsumer> _Nonnull consumer;
1120
+ - (nonnull instancetype)initWithProcess:(FBSubprocess<id, id, id> * _Nonnull)process consumer:(id <FBDataConsumer> _Nonnull)consumer queue:(dispatch_queue_t _Nonnull)queue OBJC_DESIGNATED_INITIALIZER;
1121
+ @property (nonatomic, readonly, strong) FBFuture<NSNull *> * _Nonnull completed;
1122
+ + (NSArray<NSString *> * _Nonnull)osLogArgumentsInsertStreamIfNeeded:(NSArray<NSString *> * _Nonnull)arguments SWIFT_WARN_UNUSED_RESULT;
1123
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1124
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1125
+ @end
1126
+
1127
+ /// Process Output that can be provided through a file.
1128
+ SWIFT_PROTOCOL_NAMED("FBProcessOutputProtocol")
1129
+ @protocol FBProcessOutput <NSObject>
1130
+ /// Allows the receiver to be written to via a file instead of via a file handle.
1131
+ - (FBFuture<id <FBProcessFileOutput>> * _Nonnull)providedThroughFile SWIFT_WARN_UNUSED_RESULT;
1132
+ /// Allows the receiver to be written to via a Data Consumer.
1133
+ - (FBFuture<id <FBDataConsumer>> * _Nonnull)providedThroughConsumer SWIFT_WARN_UNUSED_RESULT;
1134
+ @end
1135
+
1136
+ @interface FBProcessOutput<WrappedType> (SWIFT_EXTENSION(FBControlCore)) <FBProcessOutput, FBStandardStream>
1137
+ @end
1138
+
1139
+ @class FBProcessIOAttachment;
1140
+ SWIFT_CLASS_NAMED("FBProcessSpawnCommandHelpers")
1141
+ @interface FBProcessSpawnCommandHelpers : NSObject
1142
+ + (void)resolveProcessFinishedWithStatLoc:(int32_t)statLoc inTeardownOfIOAttachment:(FBProcessIOAttachment * _Nonnull)attachment statLocFuture:(FBMutableFuture<NSNumber *> * _Nonnull)statLocFuture exitCodeFuture:(FBMutableFuture<NSNumber *> * _Nonnull)exitCodeFuture signalFuture:(FBMutableFuture<NSNumber *> * _Nonnull)signalFuture processIdentifier:(pid_t)processIdentifier configuration:(FBProcessSpawnConfiguration * _Nonnull)configuration queue:(dispatch_queue_t _Nonnull)queue logger:(id <FBControlCoreLogger> _Nullable)logger;
1143
+ - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
1144
+ @end
1145
+
1146
+ SWIFT_ENUM_FWD_DECL(NSUInteger, FBProcessSpawnMode)
1147
+ SWIFT_CLASS_NAMED("FBProcessSpawnConfiguration")
1148
+ @interface FBProcessSpawnConfiguration : FBProcessLaunchConfiguration
1149
+ @property (nonatomic, readonly, copy) NSString * _Nonnull launchPath;
1150
+ @property (nonatomic, readonly) enum FBProcessSpawnMode mode;
1151
+ @property (nonatomic, readonly, copy) NSString * _Nonnull processName;
1152
+ - (nonnull instancetype)initWithLaunchPath:(NSString * _Nonnull)launchPath arguments:(NSArray<NSString *> * _Nonnull)arguments environment:(NSDictionary<NSString *, NSString *> * _Nonnull)environment io:(FBProcessIO<id, id, id> * _Nonnull)io mode:(enum FBProcessSpawnMode)mode OBJC_DESIGNATED_INITIALIZER;
1153
+ @property (nonatomic, readonly) NSUInteger hash;
1154
+ - (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT;
1155
+ @property (nonatomic, readonly, copy) NSString * _Nonnull description;
1156
+ - (nonnull instancetype)initWithArguments:(NSArray<NSString *> * _Nonnull)arguments environment:(NSDictionary<NSString *, NSString *> * _Nonnull)environment io:(FBProcessIO<id, id, id> * _Nonnull)io SWIFT_UNAVAILABLE;
1157
+ @end
1158
+
1159
+ typedef SWIFT_ENUM_NAMED(NSUInteger, FBProcessSpawnMode, "FBProcessSpawnMode", open) {
1160
+ FBProcessSpawnModeDefault = 0,
1161
+ FBProcessSpawnModePosixSpawn = 1,
1162
+ FBProcessSpawnModeLaunchd = 2,
1163
+ };
1164
+
1165
+ @class FBProcessFetcher;
1166
+ SWIFT_CLASS_NAMED("FBProcessTerminationStrategy")
1167
+ @interface FBProcessTerminationStrategy : NSObject
1168
+ + (nonnull instancetype)strategyWithConfiguration:(FBProcessTerminationStrategyConfiguration)configuration processFetcher:(FBProcessFetcher * _Nonnull)processFetcher workQueue:(dispatch_queue_t _Nonnull)workQueue logger:(id <FBControlCoreLogger> _Nonnull)logger SWIFT_WARN_UNUSED_RESULT;
1169
+ + (nonnull instancetype)strategyWithProcessFetcher:(FBProcessFetcher * _Nonnull)processFetcher workQueue:(dispatch_queue_t _Nonnull)workQueue logger:(id <FBControlCoreLogger> _Nonnull)logger SWIFT_WARN_UNUSED_RESULT;
1170
+ - (FBFuture<NSNull *> * _Nonnull)killProcessIdentifier:(pid_t)processIdentifier;
1171
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1172
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1173
+ @end
1174
+
1175
+ @class FBSocketServer;
1176
+ /// The Delegate for the Server.
1177
+ SWIFT_PROTOCOL("_TtP13FBControlCore22FBSocketServerDelegate_")
1178
+ @protocol FBSocketServerDelegate <NSObject>
1179
+ /// Called when the socket server has a new client connected.
1180
+ /// The File Descriptor will not be automatically be closed, so it’s up to implementors to ensure that this happens so file descriptors do not leak.
1181
+ /// If you wish to reject the connection, close the file handle immediately.
1182
+ /// \param server the socket server.
1183
+ ///
1184
+ /// \param address the IP Address of the connected client.
1185
+ ///
1186
+ /// \param fileDescriptor the file descriptor of the connected socket.
1187
+ ///
1188
+ - (void)socketServer:(FBSocketServer * _Nonnull)server clientConnected:(struct in6_addr)address fileDescriptor:(int32_t)fileDescriptor;
1189
+ /// The Queue on which the Delegate will be called.
1190
+ /// This may be a serial or a concurrent queue.
1191
+ @property (nonatomic, readonly, strong) dispatch_queue_t _Nonnull queue;
1192
+ @end
1193
+
1194
+ /// Provides information about the state of a stream.
1195
+ SWIFT_PROTOCOL("_TtP13FBControlCore24FBStandardStreamTransfer_")
1196
+ @protocol FBStandardStreamTransfer <NSObject>
1197
+ /// The number of bytes transferred.
1198
+ @property (nonatomic, readonly) NSInteger bytesTransferred;
1199
+ /// An error, if any has occurred in the streaming of data to the input.
1200
+ @property (nonatomic, readonly) NSError * _Nullable streamError;
1201
+ @end
1202
+
1203
+ SWIFT_CLASS_NAMED("FBStorageUtils")
1204
+ @interface FBStorageUtils : NSObject
1205
+ + (NSDictionary<NSString *, NSSet<NSURL *> *> * _Nullable)bucketFilesWithExtensions:(NSSet<NSString *> * _Nonnull)extensions inDirectory:(NSURL * _Nonnull)directory error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
1206
+ + (NSURL * _Nullable)findFileWithExtension:(NSString * _Nonnull)ext atURL:(NSURL * _Nonnull)url error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
1207
+ + (NSSet<NSURL *> * _Nullable)findFilesWithExtension:(NSString * _Nonnull)ext atURL:(NSURL * _Nonnull)url error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
1208
+ + (NSURL * _Nullable)findUniqueFileInDirectory:(NSURL * _Nonnull)directory error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
1209
+ + (NSArray<NSURL *> * _Nullable)filesInDirectory:(NSURL * _Nonnull)directory error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
1210
+ + (FBBundleDescriptor * _Nullable)bundleInDirectory:(NSURL * _Nonnull)directory error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
1211
+ - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
1212
+ @end
1213
+
1214
+ /// One-slot-per-protocol cache for command class instances bound to a single
1215
+ /// target. Each <code>resolve</code> call for a distinct <code>T</code> creates an independent slot
1216
+ /// keyed by the protocol metatype, so callers can cache as many command kinds
1217
+ /// as they ask for without registering anything up front.
1218
+ /// The lock is held across <code>build</code> so concurrent first-access from two RPCs
1219
+ /// can’t double-construct the same command class – important for stateful
1220
+ /// command classes that own queues / connections per target.
1221
+ SWIFT_CLASS("_TtC13FBControlCore20FBTargetCommandCache")
1222
+ @interface FBTargetCommandCache : NSObject
1223
+ - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
1224
+ @end
1225
+
1226
+ SWIFT_CLASS_NAMED("FBTemporaryDirectory")
1227
+ @interface FBTemporaryDirectory : NSObject
1228
+ @property (nonatomic, readonly, strong) id <FBControlCoreLogger> _Nonnull logger;
1229
+ @property (nonatomic, readonly, strong) dispatch_queue_t _Nonnull queue;
1230
+ + (nonnull instancetype)temporaryDirectoryWithLogger:(id <FBControlCoreLogger> _Nonnull)logger SWIFT_WARN_UNUSED_RESULT;
1231
+ - (nonnull instancetype)initWithLogger:(id <FBControlCoreLogger> _Nonnull)logger;
1232
+ - (void)cleanOnExit;
1233
+ - (NSURL * _Nonnull)ephemeralTemporaryDirectory SWIFT_WARN_UNUSED_RESULT;
1234
+ - (FBFutureContext<NSURL *> * _Nonnull)withGzipExtractedFromStream:(FBProcessInput<id> * _Nonnull)input name:(NSString * _Nonnull)name SWIFT_WARN_UNUSED_RESULT;
1235
+ - (FBFutureContext<NSURL *> * _Nonnull)withArchiveExtracted:(NSData * _Nonnull)tarData SWIFT_WARN_UNUSED_RESULT;
1236
+ - (FBFutureContext<NSURL *> * _Nonnull)withArchiveExtractedFromStream:(FBProcessInput<id> * _Nonnull)input compression:(FBCompressionFormat)compression SWIFT_WARN_UNUSED_RESULT;
1237
+ - (FBFutureContext<NSURL *> * _Nonnull)withArchiveExtractedFromStream:(FBProcessInput<id> * _Nonnull)input compression:(FBCompressionFormat)compression overrideModificationTime:(BOOL)overrideMTime SWIFT_WARN_UNUSED_RESULT;
1238
+ - (FBFutureContext<NSURL *> * _Nonnull)withArchiveExtractedFromFile:(NSString * _Nonnull)filePath SWIFT_WARN_UNUSED_RESULT;
1239
+ - (FBFutureContext<NSURL *> * _Nonnull)withArchiveExtractedFromFile:(NSString * _Nonnull)filePath overrideModificationTime:(BOOL)overrideMTime SWIFT_WARN_UNUSED_RESULT;
1240
+ - (FBFutureContext<NSArray *> * _Nonnull)filesFromSubdirs:(FBFutureContext<NSURL *> * _Nonnull)extractionDirContext SWIFT_WARN_UNUSED_RESULT;
1241
+ - (NSURL * _Nonnull)temporaryDirectory SWIFT_WARN_UNUSED_RESULT;
1242
+ - (FBFutureContext<NSURL *> * _Nonnull)withTemporaryDirectory SWIFT_WARN_UNUSED_RESULT;
1243
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1244
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1245
+ @end
1246
+
1247
+ SWIFT_CLASS_NAMED("FBTestLaunchConfiguration")
1248
+ @interface FBTestLaunchConfiguration : NSObject <NSCopying>
1249
+ @property (nonatomic, readonly, strong) FBBundleDescriptor * _Nonnull testBundle;
1250
+ @property (nonatomic, readonly, strong) FBApplicationLaunchConfiguration * _Nonnull applicationLaunchConfiguration;
1251
+ @property (nonatomic, readonly, strong) FBBundleDescriptor * _Nullable testHostBundle;
1252
+ @property (nonatomic, readonly) NSTimeInterval timeout;
1253
+ @property (nonatomic, readonly) BOOL shouldInitializeUITesting;
1254
+ @property (nonatomic, readonly) BOOL shouldUseXcodebuild;
1255
+ @property (nonatomic, readonly, copy) NSSet<NSString *> * _Nullable testsToRun;
1256
+ @property (nonatomic, readonly, copy) NSSet<NSString *> * _Nullable testsToSkip;
1257
+ @property (nonatomic, readonly, strong) FBBundleDescriptor * _Nullable targetApplicationBundle;
1258
+ @property (nonatomic, readonly, copy) NSDictionary<NSString *, id> * _Nullable xcTestRunProperties;
1259
+ @property (nonatomic, readonly, copy) NSString * _Nullable resultBundlePath;
1260
+ @property (nonatomic, readonly) BOOL reportActivities;
1261
+ @property (nonatomic, readonly, copy) NSString * _Nullable coverageDirectoryPath;
1262
+ @property (nonatomic, readonly) BOOL shouldEnableContinuousCoverageCollection;
1263
+ @property (nonatomic, readonly, copy) NSString * _Nullable logDirectoryPath;
1264
+ @property (nonatomic, readonly) BOOL reportResultBundle;
1265
+ - (nonnull instancetype)initWithTestBundle:(FBBundleDescriptor * _Nonnull)testBundle applicationLaunchConfiguration:(FBApplicationLaunchConfiguration * _Nonnull)applicationLaunchConfiguration testHostBundle:(FBBundleDescriptor * _Nullable)testHostBundle timeout:(NSTimeInterval)timeout initializeUITesting:(BOOL)initializeUITesting useXcodebuild:(BOOL)useXcodebuild testsToRun:(NSSet<NSString *> * _Nullable)testsToRun testsToSkip:(NSSet<NSString *> * _Nullable)testsToSkip targetApplicationBundle:(FBBundleDescriptor * _Nullable)targetApplicationBundle xcTestRunProperties:(NSDictionary<NSString *, id> * _Nullable)xcTestRunProperties resultBundlePath:(NSString * _Nullable)resultBundlePath reportActivities:(BOOL)reportActivities coverageDirectoryPath:(NSString * _Nullable)coverageDirectoryPath enableContinuousCoverageCollection:(BOOL)enableContinuousCoverageCollection logDirectoryPath:(NSString * _Nullable)logDirectoryPath reportResultBundle:(BOOL)reportResultBundle OBJC_DESIGNATED_INITIALIZER;
1266
+ - (id _Nonnull)copyWithZone:(struct _NSZone * _Nullable)zone SWIFT_WARN_UNUSED_RESULT;
1267
+ - (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT;
1268
+ @property (nonatomic, readonly) NSUInteger hash;
1269
+ @property (nonatomic, readonly, copy) NSString * _Nonnull description;
1270
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1271
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1272
+ @end
1273
+
1274
+ @class AVCaptureSession;
1275
+ @class AVCaptureFileOutput;
1276
+ @class AVCaptureConnection;
1277
+ SWIFT_CLASS_NAMED("FBVideoFileWriter")
1278
+ @interface FBVideoFileWriter : NSObject <AVCaptureFileOutputRecordingDelegate>
1279
+ + (nullable instancetype)writerWithSession:(AVCaptureSession * _Nonnull)session filePath:(NSString * _Nonnull)filePath logger:(id <FBControlCoreLogger> _Nonnull)logger error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
1280
+ - (FBFuture<NSNull *> * _Nonnull)startRecording SWIFT_WARN_UNUSED_RESULT;
1281
+ - (FBFuture<NSNull *> * _Nonnull)stopRecording SWIFT_WARN_UNUSED_RESULT;
1282
+ - (FBFuture<NSNull *> * _Nonnull)completed SWIFT_WARN_UNUSED_RESULT;
1283
+ - (void)captureOutput:(AVCaptureFileOutput * _Nonnull)output didStartRecordingToOutputFileAtURL:(NSURL * _Nonnull)fileURL fromConnections:(NSArray<AVCaptureConnection *> * _Nonnull)connections;
1284
+ - (void)captureOutput:(AVCaptureFileOutput * _Nonnull)output didPauseRecordingToOutputFileAtURL:(NSURL * _Nonnull)fileURL fromConnections:(NSArray<AVCaptureConnection *> * _Nonnull)connections;
1285
+ - (void)captureOutput:(AVCaptureFileOutput * _Nonnull)output willFinishRecordingToOutputFileAtURL:(NSURL * _Nonnull)outputFileURL fromConnections:(NSArray<AVCaptureConnection *> * _Nonnull)connections error:(NSError * _Nullable)error;
1286
+ - (void)captureOutput:(AVCaptureFileOutput * _Nonnull)output didFinishRecordingToOutputFileAtURL:(NSURL * _Nonnull)outputFileURL fromConnections:(NSArray<AVCaptureConnection *> * _Nonnull)connections error:(NSError * _Nullable)error;
1287
+ - (void)captureOutput:(AVCaptureFileOutput * _Nonnull)output didResumeRecordingToOutputFileAtURL:(NSURL * _Nonnull)fileURL fromConnections:(NSArray<AVCaptureConnection *> * _Nonnull)connections;
1288
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1289
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1290
+ @end
1291
+
1292
+ /// Streams Bitmaps to a File Sink.
1293
+ SWIFT_PROTOCOL("_TtP13FBControlCore13FBVideoStream_")
1294
+ @protocol FBVideoStream <FBiOSTargetOperation>
1295
+ /// Starts the Streaming, to a Data Consumer.
1296
+ - (FBFuture<NSNull *> * _Nonnull)startStreaming:(id <FBDataConsumer> _Nonnull)consumer SWIFT_WARN_UNUSED_RESULT;
1297
+ /// Stops the Streaming.
1298
+ - (FBFuture<NSNull *> * _Nonnull)stopStreaming SWIFT_WARN_UNUSED_RESULT;
1299
+ @end
1300
+
1301
+ @class FBVideoStreamFormat;
1302
+ @class FBVideoStreamRateControl;
1303
+ SWIFT_CLASS_NAMED("FBVideoStreamConfiguration")
1304
+ @interface FBVideoStreamConfiguration : NSObject <NSCopying>
1305
+ @property (nonatomic, readonly, strong) FBVideoStreamFormat * _Nonnull format;
1306
+ @property (nonatomic, readonly, strong) NSNumber * _Nullable framesPerSecond;
1307
+ @property (nonatomic, readonly, strong) FBVideoStreamRateControl * _Nonnull rateControl;
1308
+ @property (nonatomic, readonly, strong) NSNumber * _Nullable scaleFactor;
1309
+ @property (nonatomic, readonly, strong) NSNumber * _Nonnull keyFrameRate;
1310
+ - (nonnull instancetype)initWithFormat:(FBVideoStreamFormat * _Nonnull)format framesPerSecond:(NSNumber * _Nullable)framesPerSecond rateControl:(FBVideoStreamRateControl * _Nullable)rateControl scaleFactor:(NSNumber * _Nullable)scaleFactor keyFrameRate:(NSNumber * _Nullable)keyFrameRate OBJC_DESIGNATED_INITIALIZER;
1311
+ - (id _Nonnull)copyWithZone:(struct _NSZone * _Nullable)zone SWIFT_WARN_UNUSED_RESULT;
1312
+ - (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT;
1313
+ @property (nonatomic, readonly) NSUInteger hash;
1314
+ @property (nonatomic, readonly, copy) NSString * _Nonnull description;
1315
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1316
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1317
+ @end
1318
+
1319
+ SWIFT_CLASS_NAMED("FBVideoStreamFormat")
1320
+ @interface FBVideoStreamFormat : NSObject <NSCopying>
1321
+ @property (nonatomic, readonly) FBVideoStreamFormatType type;
1322
+ @property (nonatomic, readonly) FBVideoStreamCodec _Nullable codec;
1323
+ @property (nonatomic, readonly) FBVideoStreamTransport _Nullable transport;
1324
+ + (FBVideoStreamFormat * _Nonnull)compressedVideoWithCodec:(FBVideoStreamCodec _Nonnull)codec transport:(FBVideoStreamTransport _Nonnull)transport SWIFT_WARN_UNUSED_RESULT;
1325
+ + (FBVideoStreamFormat * _Nonnull)mjpeg SWIFT_WARN_UNUSED_RESULT;
1326
+ + (FBVideoStreamFormat * _Nonnull)minicap SWIFT_WARN_UNUSED_RESULT;
1327
+ + (FBVideoStreamFormat * _Nonnull)bgra SWIFT_WARN_UNUSED_RESULT;
1328
+ - (id _Nonnull)copyWithZone:(struct _NSZone * _Nullable)zone SWIFT_WARN_UNUSED_RESULT;
1329
+ - (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT;
1330
+ @property (nonatomic, readonly) NSUInteger hash;
1331
+ @property (nonatomic, readonly, copy) NSString * _Nonnull description;
1332
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1333
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1334
+ @end
1335
+
1336
+ SWIFT_CLASS_NAMED("FBVideoStreamRateControl")
1337
+ @interface FBVideoStreamRateControl : NSObject <NSCopying>
1338
+ @property (nonatomic, readonly) FBVideoStreamRateControlMode mode;
1339
+ @property (nonatomic, readonly, strong) NSNumber * _Nonnull value;
1340
+ + (FBVideoStreamRateControl * _Nonnull)quality:(NSNumber * _Nonnull)quality SWIFT_WARN_UNUSED_RESULT;
1341
+ + (FBVideoStreamRateControl * _Nonnull)bitrate:(NSNumber * _Nonnull)bitrate SWIFT_WARN_UNUSED_RESULT;
1342
+ - (id _Nonnull)copyWithZone:(struct _NSZone * _Nullable)zone SWIFT_WARN_UNUSED_RESULT;
1343
+ - (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT;
1344
+ @property (nonatomic, readonly) NSUInteger hash;
1345
+ @property (nonatomic, readonly, copy) NSString * _Nonnull description;
1346
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1347
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1348
+ @end
1349
+
1350
+ SWIFT_CLASS_NAMED("FBWeakFramework")
1351
+ @interface FBWeakFramework : NSObject
1352
+ @property (nonatomic, readonly, copy) NSString * _Nonnull name;
1353
+ + (FBWeakFramework * _Nonnull)xcodeFrameworkWithRelativePath:(NSString * _Nonnull)relativePath requiredClassNames:(NSArray<NSString *> * _Nonnull)requiredClassNames SWIFT_WARN_UNUSED_RESULT;
1354
+ + (FBWeakFramework * _Nonnull)frameworkWithPath:(NSString * _Nonnull)absolutePath requiredClassNames:(NSArray<NSString *> * _Nonnull)requiredClassNames rootPermitted:(BOOL)rootPermitted SWIFT_WARN_UNUSED_RESULT;
1355
+ - (BOOL)loadWithLogger:(id <FBControlCoreLogger> _Nonnull)logger error:(NSError * _Nullable * _Nullable)error;
1356
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1357
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1358
+ @end
1359
+
1360
+ @interface FBWeakFramework (SWIFT_EXTENSION(FBControlCore))
1361
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) FBWeakFramework * _Nonnull CoreSimulator;)
1362
+ + (FBWeakFramework * _Nonnull)CoreSimulator SWIFT_WARN_UNUSED_RESULT;
1363
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) FBWeakFramework * _Nonnull SimulatorKit;)
1364
+ + (FBWeakFramework * _Nonnull)SimulatorKit SWIFT_WARN_UNUSED_RESULT;
1365
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) FBWeakFramework * _Nonnull DTXConnectionServices;)
1366
+ + (FBWeakFramework * _Nonnull)DTXConnectionServices SWIFT_WARN_UNUSED_RESULT;
1367
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) FBWeakFramework * _Nonnull XCTDaemonControl;)
1368
+ + (FBWeakFramework * _Nonnull)XCTDaemonControl SWIFT_WARN_UNUSED_RESULT;
1369
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) FBWeakFramework * _Nonnull XCUIAutomation;)
1370
+ + (FBWeakFramework * _Nonnull)XCUIAutomation SWIFT_WARN_UNUSED_RESULT;
1371
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) FBWeakFramework * _Nonnull XCTest;)
1372
+ + (FBWeakFramework * _Nonnull)XCTest SWIFT_WARN_UNUSED_RESULT;
1373
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) FBWeakFramework * _Nonnull MobileDevice;)
1374
+ + (FBWeakFramework * _Nonnull)MobileDevice SWIFT_WARN_UNUSED_RESULT;
1375
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) FBWeakFramework * _Nonnull AccessibilityPlatformTranslation;)
1376
+ + (FBWeakFramework * _Nonnull)AccessibilityPlatformTranslation SWIFT_WARN_UNUSED_RESULT;
1377
+ @end
1378
+
1379
+ /// Commands related to XCTest Execution.
1380
+ /// FBXCTestReporter is defined in XCTestBootstrap – reporter is typed as AnyObject to avoid circular module dependency.
1381
+ SWIFT_PROTOCOL("_TtP13FBControlCore16FBXCTestCommands_")
1382
+ @protocol FBXCTestCommands <FBiOSTargetCommand>
1383
+ /// Bootstraps a test run using a Test Launch Configuration.
1384
+ - (FBFuture<NSNull *> * _Nonnull)runTestWithLaunchConfiguration:(FBTestLaunchConfiguration * _Nonnull)testLaunchConfiguration reporter:(id _Nonnull)reporter logger:(id <FBControlCoreLogger> _Nonnull)logger SWIFT_WARN_UNUSED_RESULT;
1385
+ @end
1386
+
1387
+ /// Extended commands supported on some platforms.
1388
+ SWIFT_PROTOCOL("_TtP13FBControlCore24FBXCTestExtendedCommands_")
1389
+ @protocol FBXCTestExtendedCommands <FBXCTestCommands>
1390
+ /// Lists the testables for a provided test bundle.
1391
+ - (FBFuture<NSArray *> * _Nonnull)listTestsForBundleAtPath:(NSString * _Nonnull)bundlePath timeout:(NSTimeInterval)timeout withAppAtPath:(NSString * _Nullable)appPath SWIFT_WARN_UNUSED_RESULT;
1392
+ /// Returns the platform specific shims.
1393
+ - (FBFuture<NSString *> * _Nonnull)extendedTestShim SWIFT_WARN_UNUSED_RESULT;
1394
+ /// Starts ‘testmanagerd’ connection and creates socket to it.
1395
+ - (FBFutureContext<NSNumber *> * _Nonnull)transportForTestManagerService SWIFT_WARN_UNUSED_RESULT;
1396
+ /// The Path to the xctest executable.
1397
+ @property (nonatomic, readonly, copy) NSString * _Nonnull xctestPath;
1398
+ @end
1399
+
1400
+ SWIFT_CLASS_NAMED("FBXCTestShimConfiguration")
1401
+ @interface FBXCTestShimConfiguration : NSObject <NSCopying>
1402
+ @property (nonatomic, readonly, copy) NSString * _Nonnull iOSSimulatorTestShimPath;
1403
+ @property (nonatomic, readonly, copy) NSString * _Nonnull macOSTestShimPath;
1404
+ - (nonnull instancetype)initWithIOSSimulatorTestShimPath:(NSString * _Nonnull)iOSSimulatorTestShimPath macOSTestShimPath:(NSString * _Nonnull)macOSTestShimPath OBJC_DESIGNATED_INITIALIZER;
1405
+ + (FBFuture<NSString *> * _Nonnull)findShimDirectoryOnQueue:(dispatch_queue_t _Nonnull)queue logger:(id <FBControlCoreLogger> _Nullable)logger SWIFT_WARN_UNUSED_RESULT;
1406
+ + (FBFuture<FBXCTestShimConfiguration *> * _Nonnull)sharedShimConfigurationWithLogger:(id <FBControlCoreLogger> _Nullable)logger SWIFT_WARN_UNUSED_RESULT;
1407
+ + (FBFuture<FBXCTestShimConfiguration *> * _Nonnull)defaultShimConfigurationWith:(id <FBControlCoreLogger> _Nullable)logger SWIFT_WARN_UNUSED_RESULT;
1408
+ + (FBFuture<FBXCTestShimConfiguration *> * _Nonnull)shimConfigurationWithDirectory:(NSString * _Nonnull)directory logger:(id <FBControlCoreLogger> _Nullable)logger SWIFT_WARN_UNUSED_RESULT;
1409
+ - (id _Nonnull)copyWithZone:(struct _NSZone * _Nullable)zone SWIFT_WARN_UNUSED_RESULT;
1410
+ - (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT;
1411
+ @property (nonatomic, readonly) NSUInteger hash;
1412
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1413
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1414
+ @end
1415
+
1416
+ SWIFT_CLASS_NAMED("FBXCTraceRecordCommands")
1417
+ @interface FBXCTraceRecordCommands : NSObject <FBiOSTargetCommand>
1418
+ @property (nonatomic, readonly, strong) id <FBiOSTarget> _Nonnull target;
1419
+ + (nonnull instancetype)commandsWithTarget:(id <FBiOSTarget> _Nonnull)target SWIFT_WARN_UNUSED_RESULT;
1420
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1421
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1422
+ @end
1423
+
1424
+ SWIFT_CLASS_NAMED("FBXCTraceRecordConfiguration")
1425
+ @interface FBXCTraceRecordConfiguration : NSObject <NSCopying>
1426
+ @property (nonatomic, readonly, copy) NSString * _Nonnull templateName;
1427
+ @property (nonatomic, readonly) NSTimeInterval timeLimit;
1428
+ @property (nonatomic, readonly, copy) NSString * _Nullable package;
1429
+ @property (nonatomic, readonly) BOOL allProcesses;
1430
+ @property (nonatomic, readonly, copy) NSString * _Nullable processToAttach;
1431
+ @property (nonatomic, readonly, copy) NSString * _Nullable processToLaunch;
1432
+ @property (nonatomic, readonly, copy) NSArray<NSString *> * _Nullable launchArgs;
1433
+ @property (nonatomic, readonly, copy) NSString * _Nullable targetStdin;
1434
+ @property (nonatomic, readonly, copy) NSString * _Nullable targetStdout;
1435
+ @property (nonatomic, readonly, copy) NSDictionary<NSString *, NSString *> * _Nullable processEnv;
1436
+ @property (nonatomic, readonly, strong) FBXCTestShimConfiguration * _Nullable shim;
1437
+ + (FBXCTraceRecordConfiguration * _Nonnull)RecordWithTemplateName:(NSString * _Nonnull)templateName timeLimit:(NSTimeInterval)timeLimit package:(NSString * _Nullable)package allProcesses:(BOOL)allProcesses processToAttach:(NSString * _Nullable)processToAttach processToLaunch:(NSString * _Nullable)processToLaunch launchArgs:(NSArray<NSString *> * _Nullable)launchArgs targetStdin:(NSString * _Nullable)targetStdin targetStdout:(NSString * _Nullable)targetStdout processEnv:(NSDictionary<NSString *, NSString *> * _Nullable)processEnv shim:(FBXCTestShimConfiguration * _Nullable)shim SWIFT_WARN_UNUSED_RESULT;
1438
+ - (nonnull instancetype)initWithTemplateName:(NSString * _Nonnull)templateName timeLimit:(NSTimeInterval)timeLimit package:(NSString * _Nullable)package allProcesses:(BOOL)allProcesses processToAttach:(NSString * _Nullable)processToAttach processToLaunch:(NSString * _Nullable)processToLaunch launchArgs:(NSArray<NSString *> * _Nullable)launchArgs targetStdin:(NSString * _Nullable)targetStdin targetStdout:(NSString * _Nullable)targetStdout processEnv:(NSDictionary<NSString *, NSString *> * _Nullable)processEnv shim:(FBXCTestShimConfiguration * _Nullable)shim OBJC_DESIGNATED_INITIALIZER;
1439
+ - (FBXCTraceRecordConfiguration * _Nonnull)withShim:(FBXCTestShimConfiguration * _Nonnull)shim SWIFT_WARN_UNUSED_RESULT;
1440
+ @property (nonatomic, readonly, copy) NSString * _Nonnull description;
1441
+ - (id _Nonnull)copyWithZone:(struct _NSZone * _Nullable)zone SWIFT_WARN_UNUSED_RESULT;
1442
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1443
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1444
+ @end
1445
+
1446
+ SWIFT_CLASS_NAMED("FBXCTraceRecordOperation")
1447
+ @interface FBXCTraceRecordOperation : NSObject <FBiOSTargetOperation>
1448
+ @property (nonatomic, readonly, strong) FBSubprocess<id, id, id> * _Nonnull task;
1449
+ @property (nonatomic, readonly, strong) dispatch_queue_t _Nonnull queue;
1450
+ @property (nonatomic, readonly, copy) NSURL * _Nonnull traceDir;
1451
+ @property (nonatomic, readonly, strong) FBXCTraceRecordConfiguration * _Nonnull configuration;
1452
+ @property (nonatomic, readonly, strong) id <FBControlCoreLogger> _Nonnull logger;
1453
+ - (nonnull instancetype)initWithTask:(FBSubprocess<id, id, id> * _Nonnull)task traceDir:(NSURL * _Nonnull)traceDir configuration:(FBXCTraceRecordConfiguration * _Nonnull)configuration queue:(dispatch_queue_t _Nonnull)queue logger:(id <FBControlCoreLogger> _Nonnull)logger OBJC_DESIGNATED_INITIALIZER;
1454
+ + (FBFuture<FBXCTraceRecordOperation *> * _Nonnull)operationWithTarget:(id <FBiOSTarget> _Nonnull)target configuration:(FBXCTraceRecordConfiguration * _Nonnull)configuration logger:(id <FBControlCoreLogger> _Nonnull)logger SWIFT_WARN_UNUSED_RESULT;
1455
+ - (FBFuture<NSURL *> * _Nonnull)stopWithTimeout:(NSTimeInterval)timeout SWIFT_WARN_UNUSED_RESULT;
1456
+ + (FBFuture<NSURL *> * _Nonnull)postProcess:(NSArray<NSString *> * _Nullable)arguments traceDir:(NSURL * _Nonnull)traceDir queue:(dispatch_queue_t _Nonnull)queue logger:(id <FBControlCoreLogger> _Nullable)logger SWIFT_WARN_UNUSED_RESULT;
1457
+ @property (nonatomic, readonly, strong) FBFuture<NSNull *> * _Nonnull completed;
1458
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1459
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1460
+ @end
1461
+
1462
+ @class NSNumberFormatter;
1463
+ SWIFT_CLASS_NAMED("FBXcodeConfiguration")
1464
+ @interface FBXcodeConfiguration : NSObject
1465
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull developerDirectory;)
1466
+ + (NSString * _Nonnull)developerDirectory SWIFT_WARN_UNUSED_RESULT;
1467
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull contentsDirectory;)
1468
+ + (NSString * _Nonnull)contentsDirectory SWIFT_WARN_UNUSED_RESULT;
1469
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) NSDecimalNumber * _Nonnull xcodeVersionNumber;)
1470
+ + (NSDecimalNumber * _Nonnull)xcodeVersionNumber SWIFT_WARN_UNUSED_RESULT;
1471
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly) NSOperatingSystemVersion xcodeVersion;)
1472
+ + (NSOperatingSystemVersion)xcodeVersion SWIFT_WARN_UNUSED_RESULT;
1473
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) NSDecimalNumber * _Nonnull iosSDKVersionNumber;)
1474
+ + (NSDecimalNumber * _Nonnull)iosSDKVersionNumber SWIFT_WARN_UNUSED_RESULT;
1475
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) NSNumberFormatter * _Nonnull iosSDKVersionNumberFormatter;)
1476
+ + (NSNumberFormatter * _Nonnull)iosSDKVersionNumberFormatter SWIFT_WARN_UNUSED_RESULT;
1477
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull iosSDKVersion;)
1478
+ + (NSString * _Nonnull)iosSDKVersion SWIFT_WARN_UNUSED_RESULT;
1479
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly) BOOL isXcode12OrGreater;)
1480
+ + (BOOL)isXcode12OrGreater SWIFT_WARN_UNUSED_RESULT;
1481
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly) BOOL isXcode12_5OrGreater;)
1482
+ + (BOOL)isXcode12_5OrGreater SWIFT_WARN_UNUSED_RESULT;
1483
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) FBBundleDescriptor * _Nonnull simulatorApp;)
1484
+ + (FBBundleDescriptor * _Nonnull)simulatorApp SWIFT_WARN_UNUSED_RESULT;
1485
+ + (NSString * _Nonnull)description SWIFT_WARN_UNUSED_RESULT;
1486
+ @property (nonatomic, readonly, copy) NSString * _Nonnull description;
1487
+ - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
1488
+ @end
1489
+
1490
+ /// A protocol that defines an informational target.
1491
+ SWIFT_PROTOCOL("_TtP13FBControlCore15FBiOSTargetInfo_")
1492
+ @protocol FBiOSTargetInfo <NSObject>
1493
+ /// A Unique Identifier that describes this iOS Target.
1494
+ @property (nonatomic, readonly, copy) NSString * _Nonnull uniqueIdentifier;
1495
+ /// The “Unique Device Identifier” of the iOS Target.
1496
+ /// This may be distinct from the uniqueIdentifier.
1497
+ @property (nonatomic, readonly, copy) NSString * _Nonnull udid;
1498
+ /// The Name of the iOS Target. This is the name given by the user, such as “Ada’s iPhone”
1499
+ @property (nonatomic, readonly, copy) NSString * _Nonnull name;
1500
+ /// The Device Type of the Target.
1501
+ @property (nonatomic, readonly, strong) FBDeviceType * _Nonnull deviceType;
1502
+ /// Available architecture of the iOS Target
1503
+ @property (nonatomic, readonly, copy) NSArray<FBArchitecture> * _Nonnull architectures;
1504
+ /// The OS Version of the Target.
1505
+ @property (nonatomic, readonly, strong) FBOSVersion * _Nonnull osVersion;
1506
+ /// A dictionary containing per-target-type information that is unique to them.
1507
+ /// For example iOS Devices have additional metadata that is not present on Simulators.
1508
+ /// This dictionary must be JSON-Serializable.
1509
+ @property (nonatomic, readonly, copy) NSDictionary<NSString *, id> * _Nonnull extendedInformation;
1510
+ /// The Type of the iOS Target
1511
+ @property (nonatomic, readonly) FBiOSTargetType targetType;
1512
+ /// The State of the iOS Target. Currently only applies to Simulators.
1513
+ @property (nonatomic, readonly) FBiOSTargetState state;
1514
+ @end
1515
+
1516
+ @class FBiOSTargetScreenInfo;
1517
+ /// A protocol that defines an interactible and informational target.
1518
+ SWIFT_PROTOCOL("_TtP13FBControlCore11FBiOSTarget_")
1519
+ @protocol FBiOSTarget <FBiOSTargetCommand, FBiOSTargetInfo>
1520
+ /// The Target’s Logger.
1521
+ @property (nonatomic, readonly, strong) id <FBControlCoreLogger> _Nullable logger;
1522
+ /// The path to the custom (non-default) device set if applicable.
1523
+ @property (nonatomic, readonly, copy) NSString * _Nullable customDeviceSetPath;
1524
+ /// The directory that the target uses to store scratch files on the host.
1525
+ @property (nonatomic, readonly, strong) FBTemporaryDirectory * _Nonnull temporaryDirectory;
1526
+ /// The directory that the target uses to store per-target files on the host.
1527
+ /// This should only be used for storing files that need to be preserved over the lifespan of the target.
1528
+ /// For example scratch or temporary files should <em>not</em> be stored here and temporaryDirectory should be used instead.
1529
+ @property (nonatomic, readonly, copy) NSString * _Nonnull auxillaryDirectory;
1530
+ /// The root of the “Runtime” where applicable
1531
+ @property (nonatomic, readonly, copy) NSString * _Nonnull runtimeRootDirectory;
1532
+ /// The root of the “Platform” where applicable
1533
+ @property (nonatomic, readonly, copy) NSString * _Nonnull platformRootDirectory;
1534
+ /// The Screen Info for the Target.
1535
+ @property (nonatomic, readonly, strong) FBiOSTargetScreenInfo * _Nullable screenInfo;
1536
+ /// The Queue to serialize work on.
1537
+ /// This is a serial queue that should act as a lock for other tasks that will mutate the state of the target.
1538
+ /// Mutually Exclusive operations should use this queue.
1539
+ @property (nonatomic, readonly, strong) dispatch_queue_t _Nonnull workQueue;
1540
+ /// A queue for independent operations to execute on.
1541
+ /// Examples of these operations are transforming an immutable data structure.
1542
+ @property (nonatomic, readonly, strong) dispatch_queue_t _Nonnull asyncQueue;
1543
+ /// A Comparison Method for <code>sortedArrayUsingSelector:</code>
1544
+ - (NSComparisonResult)compare:(id <FBiOSTarget> _Nonnull)target SWIFT_WARN_UNUSED_RESULT;
1545
+ /// If the target’s bundle needs to be codesigned or not.
1546
+ - (BOOL)requiresBundlesToBeSigned SWIFT_WARN_UNUSED_RESULT;
1547
+ /// Env var replacements
1548
+ - (NSDictionary<NSString *, NSString *> * _Nonnull)replacementMapping SWIFT_WARN_UNUSED_RESULT;
1549
+ /// Env var additions
1550
+ - (NSDictionary<NSString *, NSString *> * _Nonnull)environmentAdditions SWIFT_WARN_UNUSED_RESULT;
1551
+ @end
1552
+
1553
+ SWIFT_CLASS_NAMED("FBiOSTargetConfiguration")
1554
+ @interface FBiOSTargetConfiguration : NSObject
1555
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSDictionary<FBDeviceModel, FBDeviceType *> * _Nonnull nameToDevice;)
1556
+ + (NSDictionary<FBDeviceModel, FBDeviceType *> * _Nonnull)nameToDevice SWIFT_WARN_UNUSED_RESULT;
1557
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSDictionary<NSString *, FBDeviceType *> * _Nonnull productTypeToDevice;)
1558
+ + (NSDictionary<NSString *, FBDeviceType *> * _Nonnull)productTypeToDevice SWIFT_WARN_UNUSED_RESULT;
1559
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSDictionary<FBOSVersionName, FBOSVersion *> * _Nonnull nameToOSVersion;)
1560
+ + (NSDictionary<FBOSVersionName, FBOSVersion *> * _Nonnull)nameToOSVersion SWIFT_WARN_UNUSED_RESULT;
1561
+ + (NSSet<FBArchitecture> * _Nonnull)baseArchsToCompatibleArch:(NSArray<FBArchitecture> * _Nonnull)architectures SWIFT_WARN_UNUSED_RESULT;
1562
+ - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
1563
+ @end
1564
+
1565
+ SWIFT_CLASS_NAMED("FBiOSTargetScreenInfo")
1566
+ @interface FBiOSTargetScreenInfo : NSObject <NSCopying>
1567
+ @property (nonatomic, readonly) NSUInteger widthPixels;
1568
+ @property (nonatomic, readonly) NSUInteger heightPixels;
1569
+ @property (nonatomic, readonly) float scale;
1570
+ - (nonnull instancetype)initWithWidthPixels:(NSUInteger)widthPixels heightPixels:(NSUInteger)heightPixels scale:(float)scale OBJC_DESIGNATED_INITIALIZER;
1571
+ - (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT;
1572
+ @property (nonatomic, readonly) NSUInteger hash;
1573
+ @property (nonatomic, readonly, copy) NSString * _Nonnull description;
1574
+ - (id _Nonnull)copyWithZone:(struct _NSZone * _Nullable)zone SWIFT_WARN_UNUSED_RESULT;
1575
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1576
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1577
+ @end
1578
+
1579
+ @protocol FBiOSTargetSetDelegate;
1580
+ /// Common properties of iOS Target Sets, shared by Simulator & Device Sets.
1581
+ SWIFT_PROTOCOL("_TtP13FBControlCore14FBiOSTargetSet_")
1582
+ @protocol FBiOSTargetSet <NSObject>
1583
+ /// The Delegate of the Target Set.
1584
+ /// Used to report updates out.
1585
+ @property (nonatomic, weak) id <FBiOSTargetSetDelegate> _Nullable delegate;
1586
+ /// Obtains all current targets infos within a set.
1587
+ @property (nonatomic, readonly, copy) NSArray<id <FBiOSTargetInfo>> * _Nonnull allTargetInfos;
1588
+ /// Fetches a Target by a UDID.
1589
+ - (id <FBiOSTargetInfo> _Nullable)targetWithUDID:(NSString * _Nonnull)udid SWIFT_WARN_UNUSED_RESULT;
1590
+ @end
1591
+
1592
+ /// Delegate that informs of updates regarding the set of iOS Targets.
1593
+ SWIFT_PROTOCOL("_TtP13FBControlCore22FBiOSTargetSetDelegate_")
1594
+ @protocol FBiOSTargetSetDelegate
1595
+ /// Called every time an iOS Target is added to the set.
1596
+ - (void)targetAdded:(id <FBiOSTargetInfo> _Nonnull)targetInfo inTargetSet:(id <FBiOSTargetSet> _Nonnull)targetSet;
1597
+ /// Called every time an iOS Target is removed from the set.
1598
+ - (void)targetRemoved:(id <FBiOSTargetInfo> _Nonnull)targetInfo inTargetSet:(id <FBiOSTargetSet> _Nonnull)targetSet;
1599
+ /// Called every time the target info is changed.
1600
+ - (void)targetUpdated:(id <FBiOSTargetInfo> _Nonnull)targetInfo inTargetSet:(id <FBiOSTargetSet> _Nonnull)targetSet;
1601
+ @end
1602
+
1603
+ @interface NSPredicate (SWIFT_EXTENSION(FBControlCore))
1604
+ + (NSPredicate * _Nonnull)notNullPredicate SWIFT_WARN_UNUSED_RESULT;
1605
+ @end
1606
+
1607
+ #endif // defined(__OBJC__)
1608
+ #if __has_attribute(external_source_symbol)
1609
+ # pragma clang attribute pop
1610
+ #endif
1611
+ #if defined(__cplusplus)
1612
+ #endif
1613
+ #pragma clang diagnostic pop
1614
+ #endif
1615
+
1616
+ #elif defined(__x86_64__) && __x86_64__
1617
+ // Generated by Apple Swift version 6.3.2 effective-5.10 (swiftlang-6.3.2.1.108 clang-2100.1.1.101)
1618
+ #ifndef FBCONTROLCORE_SWIFT_H
1619
+ #define FBCONTROLCORE_SWIFT_H
1620
+ #pragma clang diagnostic push
1621
+ #pragma clang diagnostic ignored "-Wgcc-compat"
1622
+
1623
+ #if !defined(__has_include)
1624
+ # define __has_include(x) 0
1625
+ #endif
1626
+ #if !defined(__has_attribute)
1627
+ # define __has_attribute(x) 0
1628
+ #endif
1629
+ #if !defined(__has_feature)
1630
+ # define __has_feature(x) 0
1631
+ #endif
1632
+ #if !defined(__has_warning)
1633
+ # define __has_warning(x) 0
1634
+ #endif
1635
+
1636
+ #if __has_include(<swift/objc-prologue.h>)
1637
+ # include <swift/objc-prologue.h>
1638
+ #endif
1639
+
1640
+ #pragma clang diagnostic ignored "-Wauto-import"
1641
+ #if defined(__OBJC__)
1642
+ #include <Foundation/Foundation.h>
1643
+ #endif // defined(__OBJC__)
1644
+ #if defined(__cplusplus)
1645
+ #include <cstdint>
1646
+ #include <cstddef>
1647
+ #include <cstdbool>
1648
+ #include <cstring>
1649
+ #include <stdlib.h>
1650
+ #include <new>
1651
+ #include <type_traits>
1652
+ #else
1653
+ #include <stdint.h>
1654
+ #include <stddef.h>
1655
+ #include <stdbool.h>
1656
+ #include <string.h>
1657
+ #endif
1658
+ #if defined(__cplusplus)
1659
+ #pragma clang diagnostic push
1660
+ #pragma clang diagnostic ignored "-Wnon-modular-include-in-framework-module"
1661
+ #if defined(__arm64e__) && __has_include(<ptrauth.h>)
1662
+ # include <ptrauth.h>
1663
+ #else
1664
+ #pragma clang diagnostic push
1665
+ #pragma clang diagnostic ignored "-Wreserved-macro-identifier"
1666
+ # ifndef __ptrauth_swift_value_witness_function_pointer
1667
+ # define __ptrauth_swift_value_witness_function_pointer(x)
1668
+ # endif
1669
+ # ifndef __ptrauth_swift_class_method_pointer
1670
+ # define __ptrauth_swift_class_method_pointer(x)
1671
+ # endif
1672
+ #pragma clang diagnostic pop
1673
+ #endif
1674
+ #pragma clang diagnostic pop
1675
+ #endif
1676
+
1677
+ #if !defined(SWIFT_TYPEDEFS)
1678
+ # define SWIFT_TYPEDEFS 1
1679
+ # if __has_include(<uchar.h>)
1680
+ # include <uchar.h>
1681
+ # elif !defined(__cplusplus)
1682
+ typedef unsigned char char8_t;
1683
+ typedef uint_least16_t char16_t;
1684
+ typedef uint_least32_t char32_t;
1685
+ # endif
1686
+ typedef float swift_float2 __attribute__((__ext_vector_type__(2)));
1687
+ typedef float swift_float3 __attribute__((__ext_vector_type__(3)));
1688
+ typedef float swift_float4 __attribute__((__ext_vector_type__(4)));
1689
+ typedef double swift_double2 __attribute__((__ext_vector_type__(2)));
1690
+ typedef double swift_double3 __attribute__((__ext_vector_type__(3)));
1691
+ typedef double swift_double4 __attribute__((__ext_vector_type__(4)));
1692
+ typedef int swift_int2 __attribute__((__ext_vector_type__(2)));
1693
+ typedef int swift_int3 __attribute__((__ext_vector_type__(3)));
1694
+ typedef int swift_int4 __attribute__((__ext_vector_type__(4)));
1695
+ typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2)));
1696
+ typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3)));
1697
+ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
1698
+ #endif
1699
+
1700
+ #if !defined(SWIFT_PASTE)
1701
+ # define SWIFT_PASTE_HELPER(x, y) x##y
1702
+ # define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
1703
+ #endif
1704
+ #if !defined(SWIFT_METATYPE)
1705
+ # define SWIFT_METATYPE(X) Class
1706
+ #endif
1707
+ #if !defined(SWIFT_CLASS_PROPERTY)
1708
+ # if __has_feature(objc_class_property)
1709
+ # define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
1710
+ # else
1711
+ # define SWIFT_CLASS_PROPERTY(...)
1712
+ # endif
1713
+ #endif
1714
+ #if !defined(SWIFT_RUNTIME_NAME)
1715
+ # if __has_attribute(objc_runtime_name)
1716
+ # define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
1717
+ # else
1718
+ # define SWIFT_RUNTIME_NAME(X)
1719
+ # endif
1720
+ #endif
1721
+ #if !defined(SWIFT_COMPILE_NAME)
1722
+ # if __has_attribute(swift_name)
1723
+ # define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
1724
+ # else
1725
+ # define SWIFT_COMPILE_NAME(X)
1726
+ # endif
1727
+ #endif
1728
+ #if !defined(SWIFT_METHOD_FAMILY)
1729
+ # if __has_attribute(objc_method_family)
1730
+ # define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
1731
+ # else
1732
+ # define SWIFT_METHOD_FAMILY(X)
1733
+ # endif
1734
+ #endif
1735
+ #if !defined(SWIFT_NOESCAPE)
1736
+ # if __has_attribute(noescape)
1737
+ # define SWIFT_NOESCAPE __attribute__((noescape))
1738
+ # else
1739
+ # define SWIFT_NOESCAPE
1740
+ # endif
1741
+ #endif
1742
+ #if !defined(SWIFT_RELEASES_ARGUMENT)
1743
+ # if __has_attribute(ns_consumed)
1744
+ # define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
1745
+ # else
1746
+ # define SWIFT_RELEASES_ARGUMENT
1747
+ # endif
1748
+ #endif
1749
+ #if !defined(SWIFT_WARN_UNUSED_RESULT)
1750
+ # if __has_attribute(warn_unused_result)
1751
+ # define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
1752
+ # else
1753
+ # define SWIFT_WARN_UNUSED_RESULT
1754
+ # endif
1755
+ #endif
1756
+ #if !defined(SWIFT_NORETURN)
1757
+ # if __has_attribute(noreturn)
1758
+ # define SWIFT_NORETURN __attribute__((noreturn))
1759
+ # else
1760
+ # define SWIFT_NORETURN
1761
+ # endif
1762
+ #endif
1763
+ #if !defined(SWIFT_CLASS_EXTRA)
1764
+ # define SWIFT_CLASS_EXTRA
1765
+ #endif
1766
+ #if !defined(SWIFT_PROTOCOL_EXTRA)
1767
+ # define SWIFT_PROTOCOL_EXTRA
1768
+ #endif
1769
+ #if !defined(SWIFT_ENUM_EXTRA)
1770
+ # define SWIFT_ENUM_EXTRA
1771
+ #endif
1772
+ #if !defined(SWIFT_CLASS)
1773
+ # if __has_attribute(objc_subclassing_restricted)
1774
+ # define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
1775
+ # define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
1776
+ # else
1777
+ # define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
1778
+ # define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
1779
+ # endif
1780
+ #endif
1781
+ #if !defined(SWIFT_RESILIENT_CLASS)
1782
+ # if __has_attribute(objc_class_stub)
1783
+ # define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
1784
+ # define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
1785
+ # else
1786
+ # define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
1787
+ # define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
1788
+ # endif
1789
+ #endif
1790
+ #if !defined(SWIFT_PROTOCOL)
1791
+ # define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
1792
+ # define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
1793
+ #endif
1794
+ #if !defined(SWIFT_EXTENSION)
1795
+ # define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
1796
+ #endif
1797
+ #if !defined(OBJC_DESIGNATED_INITIALIZER)
1798
+ # if __has_attribute(objc_designated_initializer)
1799
+ # define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
1800
+ # else
1801
+ # define OBJC_DESIGNATED_INITIALIZER
1802
+ # endif
1803
+ #endif
1804
+ #if !defined(SWIFT_ENUM_ATTR)
1805
+ # if __has_attribute(enum_extensibility)
1806
+ # define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
1807
+ # else
1808
+ # define SWIFT_ENUM_ATTR(_extensibility)
1809
+ # endif
1810
+ #endif
1811
+ #if !defined(SWIFT_ENUM)
1812
+ # if (defined(__cplusplus) && __cplusplus >= 201103L) || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || __has_feature(objc_fixed_enum)
1813
+ # define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
1814
+ # if __has_feature(generalized_swift_name)
1815
+ # define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
1816
+ # else
1817
+ # define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
1818
+ # endif
1819
+ # else
1820
+ # define SWIFT_ENUM(_type, _name, _extensibility) _type _name; enum
1821
+ # define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
1822
+ # endif
1823
+ #endif
1824
+ #if !defined(SWIFT_ENUM_TAG)
1825
+ # if (defined(__cplusplus) && __cplusplus >= 201103L) || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || __has_feature(objc_fixed_enum)
1826
+ # define SWIFT_ENUM_TAG enum
1827
+ # else
1828
+ # define SWIFT_ENUM_TAG
1829
+ # endif
1830
+ #endif
1831
+ #if !defined(SWIFT_ENUM_FWD_DECL)
1832
+ # if (defined(__cplusplus) && __cplusplus >= 201103L) || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || __has_feature(objc_fixed_enum)
1833
+ # define SWIFT_ENUM_FWD_DECL(_type, _name) enum _name : _type;
1834
+ # else
1835
+ # define SWIFT_ENUM_FWD_DECL(_type, _name) typedef _type _name;
1836
+ # endif
1837
+ #endif
1838
+ #if !defined(SWIFT_UNAVAILABLE)
1839
+ # define SWIFT_UNAVAILABLE __attribute__((unavailable))
1840
+ #endif
1841
+ #if !defined(SWIFT_UNAVAILABLE_MSG)
1842
+ # define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
1843
+ #endif
1844
+ #if !defined(SWIFT_AVAILABILITY)
1845
+ # define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
1846
+ #endif
1847
+ #if !defined(SWIFT_AVAILABILITY_DOMAIN)
1848
+ # define SWIFT_AVAILABILITY_DOMAIN(dom, ...) __attribute__((availability(domain: dom, __VA_ARGS__)))
1849
+ #endif
1850
+ #if !defined(SWIFT_WEAK_IMPORT)
1851
+ # define SWIFT_WEAK_IMPORT __attribute__((weak_import))
1852
+ #endif
1853
+ #if !defined(SWIFT_DEPRECATED)
1854
+ # define SWIFT_DEPRECATED __attribute__((deprecated))
1855
+ #endif
1856
+ #if !defined(SWIFT_DEPRECATED_MSG)
1857
+ # define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
1858
+ #endif
1859
+ #if !defined(SWIFT_DEPRECATED_OBJC)
1860
+ # if __has_feature(attribute_diagnose_if_objc)
1861
+ # define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
1862
+ # else
1863
+ # define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
1864
+ # endif
1865
+ #endif
1866
+ #if defined(__OBJC__)
1867
+ #if !defined(IBSegueAction)
1868
+ # define IBSegueAction
1869
+ #endif
1870
+ #endif
1871
+ #if !defined(SWIFT_EXTERN)
1872
+ # if defined(__cplusplus)
1873
+ # define SWIFT_EXTERN extern "C"
1874
+ # else
1875
+ # define SWIFT_EXTERN extern
1876
+ # endif
1877
+ #endif
1878
+ #if !defined(SWIFT_CALL)
1879
+ # define SWIFT_CALL __attribute__((swiftcall))
1880
+ #endif
1881
+ #if !defined(SWIFT_INDIRECT_RESULT)
1882
+ # define SWIFT_INDIRECT_RESULT __attribute__((swift_indirect_result))
1883
+ #endif
1884
+ #if !defined(SWIFT_CONTEXT)
1885
+ # define SWIFT_CONTEXT __attribute__((swift_context))
1886
+ #endif
1887
+ #if !defined(SWIFT_ERROR_RESULT)
1888
+ # define SWIFT_ERROR_RESULT __attribute__((swift_error_result))
1889
+ #endif
1890
+ #if defined(__cplusplus)
1891
+ # define SWIFT_NOEXCEPT noexcept
1892
+ #else
1893
+ # define SWIFT_NOEXCEPT
1894
+ #endif
1895
+ #if !defined(SWIFT_C_INLINE_THUNK)
1896
+ # if __has_attribute(always_inline)
1897
+ # if __has_attribute(nodebug)
1898
+ # define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) __attribute__((nodebug))
1899
+ # else
1900
+ # define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline))
1901
+ # endif
1902
+ # else
1903
+ # define SWIFT_C_INLINE_THUNK inline
1904
+ # endif
1905
+ #endif
1906
+ #if defined(_WIN32)
1907
+ #if !defined(SWIFT_IMPORT_STDLIB_SYMBOL)
1908
+ # define SWIFT_IMPORT_STDLIB_SYMBOL __declspec(dllimport)
1909
+ #endif
1910
+ #else
1911
+ #if !defined(SWIFT_IMPORT_STDLIB_SYMBOL)
1912
+ # define SWIFT_IMPORT_STDLIB_SYMBOL
1913
+ #endif
1914
+ #endif
1915
+ #if !__has_feature(nullability)
1916
+ # define _Nonnull
1917
+ # define _Nullable
1918
+ # define _Null_unspecified
1919
+ #elif !defined(__OBJC__)
1920
+ # pragma clang diagnostic ignored "-Wnullability-extension"
1921
+ #endif
1922
+ #if !__has_feature(nullability_nullable_result)
1923
+ # define _Nullable_result _Nullable
1924
+ #endif
1925
+ #if __has_feature(objc_modules)
1926
+ #if __has_warning("-Watimport-in-framework-header")
1927
+ #pragma clang diagnostic ignored "-Watimport-in-framework-header"
1928
+ #endif
1929
+ #endif
1930
+
1931
+ #pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
1932
+ #pragma clang diagnostic ignored "-Wduplicate-method-arg"
1933
+ #if __has_warning("-Wpragma-clang-attribute")
1934
+ # pragma clang diagnostic ignored "-Wpragma-clang-attribute"
1935
+ #endif
1936
+ #pragma clang diagnostic ignored "-Wunknown-pragmas"
1937
+ #pragma clang diagnostic ignored "-Wnullability"
1938
+ #pragma clang diagnostic ignored "-Wdollar-in-identifier-extension"
1939
+ #pragma clang diagnostic ignored "-Wunsafe-buffer-usage"
1940
+
1941
+ #if __has_attribute(external_source_symbol)
1942
+ # pragma push_macro("any")
1943
+ # undef any
1944
+ # pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="FBControlCore",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
1945
+ # pragma pop_macro("any")
1946
+ #endif
1947
+
1948
+ #if defined(__cplusplus)
1949
+ extern "C" {
1950
+ #endif
1951
+
1952
+ #if defined(__cplusplus)
1953
+ } // extern "C"
1954
+ #endif
1955
+ #if __has_attribute(external_source_symbol)
1956
+ # pragma clang attribute pop
1957
+ #endif
1958
+ #if defined(__OBJC__)
1959
+ #if __has_feature(objc_modules)
1960
+ #if __has_warning("-Watimport-in-framework-header")
1961
+ #pragma clang diagnostic ignored "-Watimport-in-framework-header"
1962
+ #endif
1963
+ @import AVFoundation;
1964
+ @import CoreFoundation;
1965
+ @import Darwin;
1966
+ @import Dispatch;
1967
+ @import Foundation;
1968
+ @import ObjectiveC;
1969
+ @import _DarwinFoundation2.sys_types;
1970
+ #endif
1971
+
1972
+ #import <FBControlCore/FBControlCore.h>
1973
+
1974
+ #endif // defined(__OBJC__)
1975
+ #pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
1976
+ #pragma clang diagnostic ignored "-Wduplicate-method-arg"
1977
+ #if __has_warning("-Wpragma-clang-attribute")
1978
+ # pragma clang diagnostic ignored "-Wpragma-clang-attribute"
1979
+ #endif
1980
+ #pragma clang diagnostic ignored "-Wunknown-pragmas"
1981
+ #pragma clang diagnostic ignored "-Wnullability"
1982
+ #pragma clang diagnostic ignored "-Wdollar-in-identifier-extension"
1983
+ #pragma clang diagnostic ignored "-Wunsafe-buffer-usage"
1984
+
1985
+ #if __has_attribute(external_source_symbol)
1986
+ # pragma push_macro("any")
1987
+ # undef any
1988
+ # pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="FBControlCore",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
1989
+ # pragma pop_macro("any")
1990
+ #endif
1991
+
1992
+ #if defined(__OBJC__)
1993
+
1994
+ @class NSNull;
1995
+ /// Observation of a Data Consumer’s lifecycle.
1996
+ SWIFT_PROTOCOL("_TtP13FBControlCore23FBDataConsumerLifecycle_")
1997
+ @protocol FBDataConsumerLifecycle <NSObject>
1998
+ /// A Future that resolves when there is no more data to write and any underlying resource managed by the consumer is released.
1999
+ @property (nonatomic, readonly, strong) FBFuture<NSNull *> * _Nonnull finishedConsuming;
2000
+ @end
2001
+
2002
+ @class NSData;
2003
+ /// A consumer of NSData.
2004
+ SWIFT_PROTOCOL("_TtP13FBControlCore14FBDataConsumer_")
2005
+ @protocol FBDataConsumer <NSObject>
2006
+ /// Consumes the provided binary data.
2007
+ - (void)consumeData:(NSData * _Nonnull)data;
2008
+ /// Consumes an end-of-file.
2009
+ - (void)consumeEndOfFile;
2010
+ @end
2011
+
2012
+ @class NSString;
2013
+ /// The non-mutating methods of a buffer.
2014
+ SWIFT_PROTOCOL("_TtP13FBControlCore20FBAccumulatingBuffer_")
2015
+ @protocol FBAccumulatingBuffer <FBDataConsumer, FBDataConsumerLifecycle>
2016
+ /// Obtains a copy of the current output data.
2017
+ - (NSData * _Nonnull)data SWIFT_WARN_UNUSED_RESULT;
2018
+ /// Obtains a copy of the current output data.
2019
+ - (NSArray<NSString *> * _Nonnull)lines SWIFT_WARN_UNUSED_RESULT;
2020
+ @end
2021
+
2022
+ @protocol FBiOSTarget;
2023
+ /// A protocol that defines a command class that can be instantiated for a target.
2024
+ /// Concrete command classes (e.g. <code>FBSimulatorApplicationCommands</code>) adopt this directly.
2025
+ SWIFT_PROTOCOL("_TtP13FBControlCore18FBiOSTargetCommand_")
2026
+ @protocol FBiOSTargetCommand <NSObject>
2027
+ /// Instantiates the Commands instance.
2028
+ + (nonnull instancetype)commandsWithTarget:(id <FBiOSTarget> _Nonnull)target SWIFT_WARN_UNUSED_RESULT;
2029
+ @end
2030
+
2031
+ @class FBInstalledApplication;
2032
+ @class FBApplicationLaunchConfiguration;
2033
+ @protocol FBLaunchedApplication;
2034
+ @class NSNumber;
2035
+ SWIFT_PROTOCOL("_TtP13FBControlCore21FBApplicationCommands_")
2036
+ @protocol FBApplicationCommands <FBiOSTargetCommand>
2037
+ - (FBFuture<FBInstalledApplication *> * _Nonnull)installApplicationWithPath:(NSString * _Nonnull)path SWIFT_WARN_UNUSED_RESULT;
2038
+ - (FBFuture<NSNull *> * _Nonnull)uninstallApplicationWithBundleID:(NSString * _Nonnull)bundleID SWIFT_WARN_UNUSED_RESULT;
2039
+ - (FBFuture<id <FBLaunchedApplication>> * _Nonnull)launchApplication:(FBApplicationLaunchConfiguration * _Nonnull)configuration SWIFT_WARN_UNUSED_RESULT;
2040
+ - (FBFuture<NSNull *> * _Nonnull)killApplicationWithBundleID:(NSString * _Nonnull)bundleID SWIFT_WARN_UNUSED_RESULT;
2041
+ - (FBFuture<NSArray *> * _Nonnull)installedApplications SWIFT_WARN_UNUSED_RESULT;
2042
+ - (FBFuture<FBInstalledApplication *> * _Nonnull)installedApplicationWithBundleID:(NSString * _Nonnull)bundleID SWIFT_WARN_UNUSED_RESULT;
2043
+ - (FBFuture<NSNumber *> * _Nonnull)processIDWithBundleID:(NSString * _Nonnull)bundleID SWIFT_WARN_UNUSED_RESULT;
2044
+ @end
2045
+
2046
+ SWIFT_CLASS_NAMED("FBProcessLaunchConfiguration")
2047
+ @interface FBProcessLaunchConfiguration : NSObject
2048
+ @property (nonatomic, readonly, copy) NSArray<NSString *> * _Nonnull arguments;
2049
+ @property (nonatomic, readonly, copy) NSDictionary<NSString *, NSString *> * _Nonnull environment;
2050
+ @property (nonatomic, readonly, strong) FBProcessIO<id, id, id> * _Nonnull io;
2051
+ - (nonnull instancetype)initWithArguments:(NSArray<NSString *> * _Nonnull)arguments environment:(NSDictionary<NSString *, NSString *> * _Nonnull)environment io:(FBProcessIO<id, id, id> * _Nonnull)io OBJC_DESIGNATED_INITIALIZER;
2052
+ @property (nonatomic, readonly) NSUInteger hash;
2053
+ - (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT;
2054
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
2055
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
2056
+ @end
2057
+
2058
+ SWIFT_ENUM_FWD_DECL(NSUInteger, FBApplicationLaunchMode)
2059
+ SWIFT_CLASS_NAMED("FBApplicationLaunchConfiguration")
2060
+ @interface FBApplicationLaunchConfiguration : FBProcessLaunchConfiguration
2061
+ @property (nonatomic, readonly, copy) NSString * _Nonnull bundleID;
2062
+ @property (nonatomic, readonly, copy) NSString * _Nullable bundleName;
2063
+ @property (nonatomic, readonly) BOOL waitForDebugger;
2064
+ @property (nonatomic, readonly) enum FBApplicationLaunchMode launchMode;
2065
+ - (nonnull instancetype)initWithBundleID:(NSString * _Nonnull)bundleID bundleName:(NSString * _Nullable)bundleName arguments:(NSArray<NSString *> * _Nonnull)arguments environment:(NSDictionary<NSString *, NSString *> * _Nonnull)environment waitForDebugger:(BOOL)waitForDebugger io:(FBProcessIO<id, id, id> * _Nonnull)io launchMode:(enum FBApplicationLaunchMode)launchMode OBJC_DESIGNATED_INITIALIZER;
2066
+ @property (nonatomic, readonly) NSUInteger hash;
2067
+ - (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT;
2068
+ @property (nonatomic, readonly, copy) NSString * _Nonnull description;
2069
+ - (nonnull instancetype)initWithArguments:(NSArray<NSString *> * _Nonnull)arguments environment:(NSDictionary<NSString *, NSString *> * _Nonnull)environment io:(FBProcessIO<id, id, id> * _Nonnull)io SWIFT_UNAVAILABLE;
2070
+ @end
2071
+
2072
+ typedef SWIFT_ENUM_NAMED(NSUInteger, FBApplicationLaunchMode, "FBApplicationLaunchMode", open) {
2073
+ FBApplicationLaunchModeFailIfRunning = 0,
2074
+ FBApplicationLaunchModeForegroundIfRunning = 1,
2075
+ FBApplicationLaunchModeRelaunchIfRunning = 2,
2076
+ };
2077
+
2078
+ @class FBProcessSpawnConfiguration;
2079
+ @class NSURL;
2080
+ SWIFT_CLASS_NAMED("FBArchitectureProcessAdapter")
2081
+ @interface FBArchitectureProcessAdapter : NSObject
2082
+ /// Force binaries to be launched in desired architectures.
2083
+ /// Convenience method for <code>adaptProcessConfiguration(_:toAnyArchitectureIn:hostArchitectures:queue:temporaryDirectory:)</code>
2084
+ - (FBFuture<FBProcessSpawnConfiguration *> * _Nonnull)adaptProcessConfiguration:(FBProcessSpawnConfiguration * _Nonnull)processConfiguration toAnyArchitectureIn:(NSSet<FBArchitecture> * _Nonnull)requestedArchitectures queue:(dispatch_queue_t _Nonnull)queue temporaryDirectory:(NSURL * _Nonnull)temporaryDirectory SWIFT_WARN_UNUSED_RESULT;
2085
+ /// Force binaries to be launched in desired architectures.
2086
+ - (FBFuture<FBProcessSpawnConfiguration *> * _Nonnull)adaptProcessConfiguration:(FBProcessSpawnConfiguration * _Nonnull)processConfiguration toAnyArchitectureIn:(NSSet<FBArchitecture> * _Nonnull)requestedArchitectures hostArchitectures:(NSSet<FBArchitecture> * _Nonnull)hostArchitectures queue:(dispatch_queue_t _Nonnull)queue temporaryDirectory:(NSURL * _Nonnull)temporaryDirectory SWIFT_WARN_UNUSED_RESULT;
2087
+ /// Returns supported architectures based on companion launch architecture and launch under rosetta determination.
2088
+ + (NSSet<FBArchitecture> * _Nonnull)hostMachineSupportedArchitectures SWIFT_WARN_UNUSED_RESULT;
2089
+ - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
2090
+ @end
2091
+
2092
+ @class FBBinaryDescriptor;
2093
+ @class FBCodesignProvider;
2094
+ @protocol FBControlCoreLogger;
2095
+ SWIFT_CLASS_NAMED("FBBundleDescriptor")
2096
+ @interface FBBundleDescriptor : NSObject <NSCopying>
2097
+ @property (nonatomic, readonly, copy) NSString * _Nonnull name;
2098
+ @property (nonatomic, readonly, copy) NSString * _Nonnull identifier;
2099
+ @property (nonatomic, readonly, copy) NSString * _Nonnull path;
2100
+ @property (nonatomic, readonly, strong) FBBinaryDescriptor * _Nullable binary;
2101
+ - (nonnull instancetype)initWithName:(NSString * _Nonnull)name identifier:(NSString * _Nonnull)identifier path:(NSString * _Nonnull)path binary:(FBBinaryDescriptor * _Nullable)binary OBJC_DESIGNATED_INITIALIZER;
2102
+ + (FBBundleDescriptor * _Nullable)bundleFromPath:(NSString * _Nonnull)path error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
2103
+ + (FBBundleDescriptor * _Nullable)bundleWithFallbackIdentifierFromPath:(NSString * _Nonnull)path error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
2104
+ - (id _Nonnull)copyWithZone:(struct _NSZone * _Nullable)zone SWIFT_WARN_UNUSED_RESULT;
2105
+ - (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT;
2106
+ @property (nonatomic, readonly) NSUInteger hash;
2107
+ @property (nonatomic, readonly, copy) NSString * _Nonnull description;
2108
+ - (FBFuture<id> * _Nonnull)updatePathsForRelocationWithCodesign:(FBCodesignProvider * _Nonnull)codesign logger:(id <FBControlCoreLogger> _Nonnull)logger queue:(dispatch_queue_t _Nonnull)queue SWIFT_WARN_UNUSED_RESULT;
2109
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
2110
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
2111
+ @end
2112
+
2113
+ @interface FBBundleDescriptor (SWIFT_EXTENSION(FBControlCore))
2114
+ + (FBBundleDescriptor * _Nullable)findAppPathFromDirectory:(NSURL * _Nonnull)directory logger:(id <FBControlCoreLogger> _Nullable)logger error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
2115
+ + (BOOL)isApplicationAtPath:(NSString * _Nonnull)path SWIFT_WARN_UNUSED_RESULT;
2116
+ @end
2117
+
2118
+ SWIFT_CLASS_NAMED("FBCodesignProvider")
2119
+ @interface FBCodesignProvider : NSObject
2120
+ @property (nonatomic, readonly, copy) NSString * _Nonnull identityName;
2121
+ + (nonnull instancetype)codeSignCommandWithIdentityName:(NSString * _Nonnull)identityName logger:(id <FBControlCoreLogger> _Nullable)logger SWIFT_WARN_UNUSED_RESULT;
2122
+ + (nonnull instancetype)codeSignCommandWithAdHocIdentityWithLogger:(id <FBControlCoreLogger> _Nullable)logger SWIFT_WARN_UNUSED_RESULT;
2123
+ - (FBFuture<NSNull *> * _Nonnull)signBundleAtPath:(NSString * _Nonnull)bundlePath SWIFT_WARN_UNUSED_RESULT;
2124
+ - (FBFuture<NSNull *> * _Nonnull)recursivelySignBundleAtPath:(NSString * _Nonnull)bundlePath SWIFT_WARN_UNUSED_RESULT;
2125
+ - (FBFuture<NSString *> * _Nonnull)cdHashForBundleAtPath:(NSString * _Nonnull)bundlePath SWIFT_WARN_UNUSED_RESULT;
2126
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
2127
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
2128
+ @end
2129
+
2130
+ SWIFT_CLASS_NAMED("FBCollectionInformation")
2131
+ @interface FBCollectionInformation : NSObject
2132
+ + (NSString * _Nonnull)oneLineDescriptionFromArray:(NSArray * _Nonnull)array SWIFT_WARN_UNUSED_RESULT;
2133
+ + (NSString * _Nonnull)oneLineDescriptionFromArray:(NSArray * _Nonnull)array atKeyPath:(NSString * _Nonnull)keyPath SWIFT_WARN_UNUSED_RESULT;
2134
+ + (NSString * _Nonnull)oneLineDescriptionFromDictionary:(NSDictionary<NSString *, id> * _Nonnull)dictionary SWIFT_WARN_UNUSED_RESULT;
2135
+ + (BOOL)isArrayHeterogeneous:(NSArray * _Nonnull)array withClass:(Class _Nonnull)cls SWIFT_WARN_UNUSED_RESULT;
2136
+ + (BOOL)isDictionaryHeterogeneous:(NSDictionary * _Nonnull)dictionary keyClass:(Class _Nonnull)keyCls valueClass:(Class _Nonnull)valueCls SWIFT_WARN_UNUSED_RESULT;
2137
+ - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
2138
+ @end
2139
+
2140
+ @class NSIndexSet;
2141
+ SWIFT_CLASS_NAMED("FBCollectionOperations")
2142
+ @interface FBCollectionOperations : NSObject
2143
+ + (NSArray<NSNumber *> * _Nonnull)arrayFromIndices:(NSIndexSet * _Nonnull)indices SWIFT_WARN_UNUSED_RESULT;
2144
+ + (NSDictionary<NSString *, id> * _Nonnull)recursiveFilteredJSONSerializableRepresentationOfDictionary:(NSDictionary<NSString *, id> * _Nonnull)input SWIFT_WARN_UNUSED_RESULT;
2145
+ + (NSArray * _Nonnull)recursiveFilteredJSONSerializableRepresentationOfArray:(NSArray * _Nonnull)input SWIFT_WARN_UNUSED_RESULT;
2146
+ + (NSIndexSet * _Nonnull)indicesFromArray:(NSArray<NSNumber *> * _Nonnull)array SWIFT_WARN_UNUSED_RESULT;
2147
+ + (id _Nullable)nullableValueForDictionary:(NSDictionary * _Nonnull)dictionary key:(id <NSCopying> _Nonnull)key SWIFT_WARN_UNUSED_RESULT;
2148
+ + (NSArray * _Nonnull)arrayWithObject:(id _Nonnull)object count:(NSUInteger)count SWIFT_WARN_UNUSED_RESULT;
2149
+ - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
2150
+ @end
2151
+
2152
+ @interface FBCompositeDataConsumer (SWIFT_EXTENSION(FBControlCore)) <FBDataConsumer, FBDataConsumerLifecycle>
2153
+ @end
2154
+
2155
+ /// A Protocol for Classes that receive Logger Messages.
2156
+ SWIFT_PROTOCOL("_TtP13FBControlCore19FBControlCoreLogger_")
2157
+ @protocol FBControlCoreLogger <NSObject>
2158
+ /// Logs a Message with the provided String.
2159
+ - (id <FBControlCoreLogger> _Nonnull)log:(NSString * _Nonnull)message;
2160
+ /// Returns the Info Logger variant.
2161
+ - (id <FBControlCoreLogger> _Nonnull)info SWIFT_WARN_UNUSED_RESULT;
2162
+ /// Returns the Debug Logger variant.
2163
+ - (id <FBControlCoreLogger> _Nonnull)debug SWIFT_WARN_UNUSED_RESULT;
2164
+ /// Returns the Error Logger variant.
2165
+ - (id <FBControlCoreLogger> _Nonnull)error SWIFT_WARN_UNUSED_RESULT;
2166
+ /// Returns a Logger for a named ‘facility’ or ‘tag’.
2167
+ - (id <FBControlCoreLogger> _Nonnull)withName:(NSString * _Nonnull)name SWIFT_WARN_UNUSED_RESULT;
2168
+ /// Enables or Disables date formatting in the logger.
2169
+ - (id <FBControlCoreLogger> _Nonnull)withDateFormatEnabled:(BOOL)enabled SWIFT_WARN_UNUSED_RESULT;
2170
+ /// The Prefix for the Logger, if set.
2171
+ @property (nonatomic, readonly, copy) NSString * _Nullable name;
2172
+ /// The Current Log Level.
2173
+ @property (nonatomic, readonly) FBControlCoreLogLevel level;
2174
+ @end
2175
+
2176
+ @interface FBCompositeLogger (SWIFT_EXTENSION(FBControlCore)) <FBControlCoreLogger>
2177
+ @end
2178
+
2179
+ @class NSDate;
2180
+ @class NSError;
2181
+ SWIFT_PROTOCOL_NAMED("FBCrashLogParser")
2182
+ @protocol FBCrashLogParser <NSObject>
2183
+ - (void)parseCrashLogFromString:(NSString * _Nonnull)str executablePathOut:(NSString * _Nonnull * _Nonnull)executablePathOut identifierOut:(NSString * _Nonnull * _Nonnull)identifierOut processNameOut:(NSString * _Nonnull * _Nonnull)processNameOut parentProcessNameOut:(NSString * _Nonnull * _Nonnull)parentProcessNameOut processIdentifierOut:(pid_t * _Nonnull)processIdentifierOut parentProcessIdentifierOut:(pid_t * _Nonnull)parentProcessIdentifierOut dateOut:(NSDate * _Nonnull * _Nonnull)dateOut exceptionDescription:(NSString * _Nonnull * _Nonnull)exceptionDescription crashedThreadDescription:(NSString * _Nonnull * _Nonnull)crashedThreadDescription error:(NSError * _Nullable * _Nullable)error;
2184
+ @end
2185
+
2186
+ /// .ips file for macOS 12+ is two concatenated json strings.
2187
+ /// 1st is metadata json, second is content json. Some of the fields from metadata repeats in content json.
2188
+ /// Considering the facts that:
2189
+ /// <ol>
2190
+ /// <li>
2191
+ /// The layout can be changed by apple easily
2192
+ /// </li>
2193
+ /// <li>
2194
+ /// Json structure itself can be easily changed
2195
+ /// </li>
2196
+ /// <li>
2197
+ /// Crashes is not often happening operation of idb
2198
+ /// we prefer reliability over performance gain here and parse all json strings finding the fields that we need in all of json entries
2199
+ /// </li>
2200
+ /// </ol>
2201
+ SWIFT_CLASS_NAMED("FBConcatedJSONCrashLogParser")
2202
+ @interface FBConcatedJSONCrashLogParser : NSObject <FBCrashLogParser>
2203
+ - (void)parseCrashLogFromString:(NSString * _Nonnull)str executablePathOut:(NSString * _Nonnull * _Nonnull)executablePathOut identifierOut:(NSString * _Nonnull * _Nonnull)identifierOut processNameOut:(NSString * _Nonnull * _Nonnull)processNameOut parentProcessNameOut:(NSString * _Nonnull * _Nonnull)parentProcessNameOut processIdentifierOut:(pid_t * _Nonnull)processIdentifierOut parentProcessIdentifierOut:(pid_t * _Nonnull)parentProcessIdentifierOut dateOut:(NSDate * _Nonnull * _Nonnull)dateOut exceptionDescription:(NSString * _Nonnull * _Nonnull)exceptionDescription crashedThreadDescription:(NSString * _Nonnull * _Nonnull)crashedThreadDescription error:(NSError * _Nullable * _Nullable)error;
2204
+ - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
2205
+ @end
2206
+
2207
+ SWIFT_CLASS_NAMED("FBConcatedJsonParser")
2208
+ @interface FBConcatedJsonParser : NSObject
2209
+ + (NSDictionary<NSString *, id> * _Nullable)parseConcatenatedJSONFromString:(NSString * _Nonnull)str error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
2210
+ - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
2211
+ @end
2212
+
2213
+ @class NSPredicate;
2214
+ SWIFT_CLASS_NAMED("FBConcurrentCollectionOperations")
2215
+ @interface FBConcurrentCollectionOperations : NSObject
2216
+ + (NSArray * _Nonnull)generate:(NSUInteger)count withBlock:(id _Nonnull (^ _Nonnull)(NSUInteger))block SWIFT_WARN_UNUSED_RESULT;
2217
+ + (NSArray * _Nonnull)map:(NSArray * _Nonnull)array withBlock:(id _Nonnull (^ _Nonnull)(id _Nonnull))block SWIFT_WARN_UNUSED_RESULT;
2218
+ + (NSArray * _Nonnull)filter:(NSArray * _Nonnull)array predicate:(NSPredicate * _Nonnull)predicate SWIFT_WARN_UNUSED_RESULT;
2219
+ + (NSArray * _Nonnull)mapFilter:(NSArray * _Nonnull)array map:(id _Nonnull (^ _Nonnull)(id _Nonnull))block predicate:(NSPredicate * _Nonnull)predicate SWIFT_WARN_UNUSED_RESULT;
2220
+ + (NSArray * _Nonnull)filterMap:(NSArray * _Nonnull)array predicate:(NSPredicate * _Nonnull)predicate map:(id _Nonnull (^ _Nonnull)(id _Nonnull))block SWIFT_WARN_UNUSED_RESULT;
2221
+ - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
2222
+ @end
2223
+
2224
+ /// The mutating methods of a buffer. All methods are fully synchronized.
2225
+ SWIFT_PROTOCOL("_TtP13FBControlCore18FBConsumableBuffer_")
2226
+ @protocol FBConsumableBuffer <FBAccumulatingBuffer>
2227
+ /// Consume the remainder of the buffer available, returning it as Data.
2228
+ - (NSData * _Nonnull)consumeCurrentData SWIFT_WARN_UNUSED_RESULT;
2229
+ /// Consume the remainder of the buffer available, returning it as a String.
2230
+ - (NSString * _Nullable)consumeCurrentString SWIFT_WARN_UNUSED_RESULT;
2231
+ /// Consumes an amount of data from the buffer.
2232
+ - (NSData * _Nullable)consumeLength:(NSUInteger)length SWIFT_WARN_UNUSED_RESULT;
2233
+ /// Consumes until data received.
2234
+ - (NSData * _Nullable)consumeUntil:(NSData * _Nonnull)terminal SWIFT_WARN_UNUSED_RESULT;
2235
+ /// Consume a line if one is available, returning it as Data.
2236
+ - (NSData * _Nullable)consumeLineData SWIFT_WARN_UNUSED_RESULT;
2237
+ /// Consume a line if one is available, returning it as a String.
2238
+ - (NSString * _Nullable)consumeLineString SWIFT_WARN_UNUSED_RESULT;
2239
+ @end
2240
+
2241
+ SWIFT_PROTOCOL("_TtP13FBControlCore15FBContainedFile_")
2242
+ @protocol FBContainedFile <NSObject>
2243
+ - (BOOL)removeItemWithError:(NSError * _Nullable * _Nullable)error;
2244
+ - (NSArray<NSString *> * _Nullable)contentsOfDirectoryWithError:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
2245
+ - (NSData * _Nullable)contentsOfFileWithError:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
2246
+ - (BOOL)createDirectoryWithError:(NSError * _Nullable * _Nullable)error;
2247
+ - (BOOL)fileExistsIsDirectory:(BOOL * _Nullable)isDirectoryOut SWIFT_WARN_UNUSED_RESULT;
2248
+ - (BOOL)moveTo:(id <FBContainedFile> _Nonnull)destination error:(NSError * _Nullable * _Nullable)error;
2249
+ - (BOOL)populateWithContentsOfHostPath:(NSString * _Nonnull)path error:(NSError * _Nullable * _Nullable)error;
2250
+ - (BOOL)populateHostPathWithContents:(NSString * _Nonnull)path error:(NSError * _Nullable * _Nullable)error;
2251
+ - (id <FBContainedFile> _Nullable)fileByAppendingPathComponent:(NSString * _Nonnull)component error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
2252
+ @property (nonatomic, readonly, copy) NSString * _Nullable pathOnHostFileSystem;
2253
+ @property (nonatomic, readonly, copy) NSDictionary<NSString *, NSString *> * _Nullable pathMapping;
2254
+ @end
2255
+
2256
+ /// File container backed by a synchronous <code>FBContainedFile</code>. Each operation
2257
+ /// resolves the target path and runs the synchronous file work on a serial
2258
+ /// queue.
2259
+ SWIFT_CLASS_NAMED("FBContainedFile_ContainedRoot")
2260
+ @interface FBContainedFile_ContainedRoot : NSObject
2261
+ - (nonnull instancetype)initWithRootFile:(id <FBContainedFile> _Nonnull)rootFile queue:(dispatch_queue_t _Nonnull)queue OBJC_DESIGNATED_INITIALIZER;
2262
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
2263
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
2264
+ @end
2265
+
2266
+ SWIFT_CLASS("_TtC13FBControlCore18FBControlCoreError")
2267
+ @interface FBControlCoreError : NSObject
2268
+ - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
2269
+ + (nonnull instancetype)describe:(NSString * _Nonnull)description SWIFT_WARN_UNUSED_RESULT;
2270
+ - (nonnull instancetype)describe:(NSString * _Nonnull)description;
2271
+ + (nonnull instancetype)causedBy:(NSError * _Nullable)cause SWIFT_WARN_UNUSED_RESULT;
2272
+ - (nonnull instancetype)causedBy:(NSError * _Nullable)cause;
2273
+ - (BOOL)failBool:(NSError * _Nullable * _Nullable)error;
2274
+ - (int32_t)failInt:(NSError * _Nullable * _Nullable)error;
2275
+ - (uint32_t)failUInt:(NSError * _Nullable * _Nullable)error;
2276
+ - (CGRect)failRect:(NSError * _Nullable * _Nullable)error;
2277
+ - (id _Nullable)fail:(NSError * _Nullable * _Nullable)error;
2278
+ - (FBFuture<id> * _Nonnull)failFuture SWIFT_WARN_UNUSED_RESULT;
2279
+ - (FBFutureContext<id> * _Nonnull)failFutureContext SWIFT_WARN_UNUSED_RESULT;
2280
+ - (void * _Nullable)failPointer:(NSError * _Nullable * _Nullable)error;
2281
+ - (nonnull instancetype)extraInfo:(NSString * _Nonnull)key value:(id _Nonnull)value;
2282
+ - (nonnull instancetype)recursiveDescription;
2283
+ - (nonnull instancetype)noRecursiveDescription;
2284
+ - (nonnull instancetype)inDomain:(NSString * _Nonnull)domain;
2285
+ - (nonnull instancetype)code:(NSInteger)code;
2286
+ - (NSError * _Nonnull)build SWIFT_WARN_UNUSED_RESULT;
2287
+ @property (nonatomic, readonly, copy) NSString * _Nonnull description;
2288
+ @end
2289
+
2290
+ @interface FBControlCoreError (SWIFT_EXTENSION(FBControlCore))
2291
+ + (NSError * _Nonnull)errorForDescription:(NSString * _Nonnull)description SWIFT_WARN_UNUSED_RESULT;
2292
+ + (id _Nullable)failWithErrorMessage:(NSString * _Nonnull)errorMessage errorOut:(NSError * _Nullable * _Nullable)errorOut SWIFT_WARN_UNUSED_RESULT;
2293
+ + (id _Nullable)failWithError:(NSError * _Nonnull)failureCause errorOut:(NSError * _Nullable * _Nullable)errorOut SWIFT_WARN_UNUSED_RESULT;
2294
+ + (id _Nullable)failWithError:(NSError * _Nonnull)failureCause description:(NSString * _Nonnull)description errorOut:(NSError * _Nullable * _Nullable)errorOut SWIFT_WARN_UNUSED_RESULT;
2295
+ + (BOOL)failBoolWithErrorMessage:(NSString * _Nonnull)errorMessage errorOut:(NSError * _Nullable * _Nullable)errorOut SWIFT_WARN_UNUSED_RESULT;
2296
+ + (BOOL)failBoolWithError:(NSError * _Nonnull)failureCause errorOut:(NSError * _Nullable * _Nullable)errorOut;
2297
+ + (BOOL)failBoolWithError:(NSError * _Nonnull)failureCause description:(NSString * _Nonnull)description errorOut:(NSError * _Nullable * _Nullable)errorOut;
2298
+ + (FBFuture<id> * _Nonnull)failFutureWithError:(NSError * _Nonnull)error SWIFT_WARN_UNUSED_RESULT;
2299
+ @end
2300
+
2301
+ SWIFT_CLASS_NAMED("FBControlCoreGlobalConfiguration")
2302
+ @interface FBControlCoreGlobalConfiguration : NSObject
2303
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly) NSTimeInterval fastTimeout;)
2304
+ + (NSTimeInterval)fastTimeout SWIFT_WARN_UNUSED_RESULT;
2305
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly) NSTimeInterval regularTimeout;)
2306
+ + (NSTimeInterval)regularTimeout SWIFT_WARN_UNUSED_RESULT;
2307
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly) NSTimeInterval slowTimeout;)
2308
+ + (NSTimeInterval)slowTimeout SWIFT_WARN_UNUSED_RESULT;
2309
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, strong) id <FBControlCoreLogger> _Nonnull defaultLogger;)
2310
+ + (id <FBControlCoreLogger> _Nonnull)defaultLogger SWIFT_WARN_UNUSED_RESULT;
2311
+ + (void)setDefaultLogger:(id <FBControlCoreLogger> _Nonnull)newValue;
2312
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly) BOOL confirmCodesignaturesAreValid;)
2313
+ + (BOOL)confirmCodesignaturesAreValid SWIFT_WARN_UNUSED_RESULT;
2314
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSDictionary<NSString *, NSString *> * _Nonnull safeSubprocessEnvironment;)
2315
+ + (NSDictionary<NSString *, NSString *> * _Nonnull)safeSubprocessEnvironment SWIFT_WARN_UNUSED_RESULT;
2316
+ + (NSString * _Nonnull)description SWIFT_WARN_UNUSED_RESULT;
2317
+ @property (nonatomic, readonly, copy) NSString * _Nonnull description;
2318
+ - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
2319
+ @end
2320
+
2321
+ @class FBCrashLogInfo;
2322
+ @class NSDateFormatter;
2323
+ SWIFT_CLASS_NAMED("FBCrashLog")
2324
+ @interface FBCrashLog : NSObject <NSCopying>
2325
+ @property (nonatomic, readonly, strong) FBCrashLogInfo * _Nonnull info;
2326
+ @property (nonatomic, readonly, copy) NSString * _Nonnull contents;
2327
+ - (nonnull instancetype)initWithInfo:(FBCrashLogInfo * _Nonnull)info contents:(NSString * _Nonnull)contents OBJC_DESIGNATED_INITIALIZER;
2328
+ @property (nonatomic, readonly, copy) NSString * _Nonnull description;
2329
+ - (id _Nonnull)copyWithZone:(struct _NSZone * _Nullable)zone SWIFT_WARN_UNUSED_RESULT;
2330
+ + (NSDateFormatter * _Nonnull)dateFormatter SWIFT_WARN_UNUSED_RESULT;
2331
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
2332
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
2333
+ @end
2334
+
2335
+ SWIFT_PROTOCOL("_TtP13FBControlCore18FBCrashLogCommands_")
2336
+ @protocol FBCrashLogCommands <FBiOSTargetCommand>
2337
+ - (FBFuture<FBCrashLogInfo *> * _Nonnull)notifyOfCrash:(NSPredicate * _Nonnull)predicate SWIFT_WARN_UNUSED_RESULT;
2338
+ @end
2339
+
2340
+ SWIFT_CLASS_NAMED("FBCrashLogInfo")
2341
+ @interface FBCrashLogInfo : NSObject <NSCopying>
2342
+ @property (nonatomic, readonly, copy) NSString * _Nonnull crashPath;
2343
+ @property (nonatomic, readonly, copy) NSString * _Nonnull executablePath;
2344
+ @property (nonatomic, readonly, copy) NSString * _Nonnull identifier;
2345
+ @property (nonatomic, readonly, copy) NSString * _Nonnull processName;
2346
+ @property (nonatomic, readonly) pid_t processIdentifier;
2347
+ @property (nonatomic, readonly, copy) NSString * _Nonnull parentProcessName;
2348
+ @property (nonatomic, readonly) pid_t parentProcessIdentifier;
2349
+ @property (nonatomic, readonly, copy) NSDate * _Nonnull date;
2350
+ @property (nonatomic, readonly) FBCrashLogInfoProcessType processType;
2351
+ @property (nonatomic, readonly, copy) NSString * _Nullable exceptionDescription;
2352
+ @property (nonatomic, readonly, copy) NSString * _Nullable crashedThreadDescription;
2353
+ @property (nonatomic, readonly, copy) NSString * _Nonnull name;
2354
+ - (nonnull instancetype)initWithCrashPath:(NSString * _Nonnull)crashPath executablePath:(NSString * _Nonnull)executablePath identifier:(NSString * _Nonnull)identifier processName:(NSString * _Nonnull)processName processIdentifier:(pid_t)processIdentifier parentProcessName:(NSString * _Nonnull)parentProcessName parentProcessIdentifier:(pid_t)parentProcessIdentifier date:(NSDate * _Nonnull)date processType:(FBCrashLogInfoProcessType)processType exceptionDescription:(NSString * _Nullable)exceptionDescription crashedThreadDescription:(NSString * _Nullable)crashedThreadDescription OBJC_DESIGNATED_INITIALIZER;
2355
+ + (FBCrashLogInfo * _Nullable)fromCrashLogAtPath:(NSString * _Nonnull)crashPath error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
2356
+ + (BOOL)isParsableCrashLog:(NSData * _Nonnull)data SWIFT_WARN_UNUSED_RESULT;
2357
+ @property (nonatomic, readonly, copy) NSString * _Nonnull description;
2358
+ - (id _Nonnull)copyWithZone:(struct _NSZone * _Nullable)zone SWIFT_WARN_UNUSED_RESULT;
2359
+ - (NSString * _Nullable)loadRawCrashLogStringWithError:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
2360
+ + (NSArray<FBCrashLogInfo *> * _Nonnull)crashInfoAfterDate:(NSDate * _Nonnull)date logger:(id <FBControlCoreLogger> _Nullable)logger SWIFT_WARN_UNUSED_RESULT;
2361
+ - (FBCrashLog * _Nullable)obtainCrashLogWithError:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
2362
+ + (NSPredicate * _Nonnull)predicateForCrashLogsWithProcessID:(pid_t)processID SWIFT_WARN_UNUSED_RESULT;
2363
+ + (NSPredicate * _Nonnull)predicateNewerThanDate:(NSDate * _Nonnull)date SWIFT_WARN_UNUSED_RESULT;
2364
+ + (NSPredicate * _Nonnull)predicateOlderThanDate:(NSDate * _Nonnull)date SWIFT_WARN_UNUSED_RESULT;
2365
+ + (NSPredicate * _Nonnull)predicateForIdentifier:(NSString * _Nonnull)identifier SWIFT_WARN_UNUSED_RESULT;
2366
+ + (NSPredicate * _Nonnull)predicateForName:(NSString * _Nonnull)name SWIFT_WARN_UNUSED_RESULT;
2367
+ + (NSPredicate * _Nonnull)predicateForExecutablePathContains:(NSString * _Nonnull)contains SWIFT_WARN_UNUSED_RESULT;
2368
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSArray<NSString *> * _Nonnull diagnosticReportsPaths;)
2369
+ + (NSArray<NSString *> * _Nonnull)diagnosticReportsPaths SWIFT_WARN_UNUSED_RESULT;
2370
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
2371
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
2372
+ @end
2373
+
2374
+ @class FBCrashLogStore;
2375
+ SWIFT_CLASS_NAMED("FBCrashLogNotifier")
2376
+ @interface FBCrashLogNotifier : NSObject
2377
+ @property (nonatomic, readonly, strong) FBCrashLogStore * _Nonnull store;
2378
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) FBCrashLogNotifier * _Nonnull sharedInstance;)
2379
+ + (FBCrashLogNotifier * _Nonnull)sharedInstance SWIFT_WARN_UNUSED_RESULT;
2380
+ - (BOOL)startListening:(BOOL)onlyNew SWIFT_WARN_UNUSED_RESULT;
2381
+ - (FBFuture<FBCrashLogInfo *> * _Nonnull)nextCrashLogForPredicate:(NSPredicate * _Nonnull)predicate SWIFT_WARN_UNUSED_RESULT;
2382
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
2383
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
2384
+ @end
2385
+
2386
+ SWIFT_CLASS_NAMED("FBCrashLogStore")
2387
+ @interface FBCrashLogStore : NSObject
2388
+ + (nonnull instancetype)storeForDirectories:(NSArray<NSString *> * _Nonnull)directories logger:(id <FBControlCoreLogger> _Nonnull)logger SWIFT_WARN_UNUSED_RESULT;
2389
+ - (NSArray<FBCrashLogInfo *> * _Nonnull)ingestAllExistingInDirectory;
2390
+ - (FBCrashLogInfo * _Nullable)ingestCrashLogAtPath:(NSString * _Nonnull)path SWIFT_WARN_UNUSED_RESULT;
2391
+ - (FBCrashLogInfo * _Nullable)ingestCrashLogData:(NSData * _Nonnull)data name:(NSString * _Nonnull)name SWIFT_WARN_UNUSED_RESULT;
2392
+ - (FBCrashLogInfo * _Nullable)removeCrashLogAtPath:(NSString * _Nonnull)path SWIFT_WARN_UNUSED_RESULT;
2393
+ - (FBCrashLogInfo * _Nullable)ingestedCrashLogWithName:(NSString * _Nonnull)name SWIFT_WARN_UNUSED_RESULT;
2394
+ - (NSArray<FBCrashLogInfo *> * _Nonnull)allIngestedCrashLogs SWIFT_WARN_UNUSED_RESULT;
2395
+ - (FBFuture<FBCrashLogInfo *> * _Nonnull)nextCrashLogForMatchingPredicate:(NSPredicate * _Nonnull)predicate SWIFT_WARN_UNUSED_RESULT;
2396
+ - (NSArray<FBCrashLogInfo *> * _Nonnull)ingestedCrashLogsMatchingPredicate:(NSPredicate * _Nonnull)predicate SWIFT_WARN_UNUSED_RESULT;
2397
+ - (NSArray<FBCrashLogInfo *> * _Nonnull)pruneCrashLogsMatchingPredicate:(NSPredicate * _Nonnull)predicate SWIFT_WARN_UNUSED_RESULT;
2398
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
2399
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
2400
+ @end
2401
+
2402
+ /// Internal forwarding protocol used by FBDataBuffer implementations.
2403
+ SWIFT_PROTOCOL("_TtP13FBControlCore22FBDataBuffer_Forwarder_")
2404
+ @protocol FBDataBuffer_Forwarder <NSObject>
2405
+ - (void)run:(id <FBConsumableBuffer> _Nonnull)buffer;
2406
+ @property (nonatomic, readonly, strong) id <FBDataConsumer> _Nonnull consumer;
2407
+ @end
2408
+
2409
+ /// Consumer which consumes the data asynchronously.
2410
+ SWIFT_PROTOCOL("_TtP13FBControlCore19FBDataConsumerAsync_")
2411
+ @protocol FBDataConsumerAsync <NSObject>
2412
+ /// Number of submitted data that has not been consumed yet.
2413
+ - (NSInteger)unprocessedDataCount SWIFT_WARN_UNUSED_RESULT;
2414
+ @end
2415
+
2416
+ /// Consumer which consumes the data synchronously in the same context as the caller invoking consumeData.
2417
+ SWIFT_PROTOCOL("_TtP13FBControlCore18FBDataConsumerSync_")
2418
+ @protocol FBDataConsumerSync <NSObject>
2419
+ @end
2420
+
2421
+ /// A protocol that represents an operation of indeterminate length.
2422
+ SWIFT_PROTOCOL("_TtP13FBControlCore20FBiOSTargetOperation_")
2423
+ @protocol FBiOSTargetOperation <NSObject>
2424
+ /// A Future that resolves when the operation has completed.
2425
+ @property (nonatomic, readonly, strong) FBFuture<NSNull *> * _Nonnull completed;
2426
+ @end
2427
+
2428
+ SWIFT_PROTOCOL("_TtP13FBControlCore13FBDebugServer_")
2429
+ @protocol FBDebugServer <FBiOSTargetOperation>
2430
+ @property (nonatomic, readonly, copy) NSArray<NSString *> * _Nonnull lldbBootstrapCommands;
2431
+ @end
2432
+
2433
+ SWIFT_CLASS_NAMED("FBDeveloperDiskImage")
2434
+ @interface FBDeveloperDiskImage : NSObject
2435
+ @property (nonatomic, readonly, copy) NSString * _Nonnull diskImagePath;
2436
+ @property (nonatomic, readonly, copy) NSData * _Nonnull signature;
2437
+ @property (nonatomic, readonly) NSOperatingSystemVersion version;
2438
+ @property (nonatomic, readonly) NSOperatingSystemVersion xcodeVersion;
2439
+ + (FBDeveloperDiskImage * _Nonnull)unknownDiskImageWithSignature:(NSData * _Nonnull)signature SWIFT_WARN_UNUSED_RESULT;
2440
+ + (FBDeveloperDiskImage * _Nullable)developerDiskImage:(NSOperatingSystemVersion)targetVersion logger:(id <FBControlCoreLogger> _Nullable)logger error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
2441
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSArray<FBDeveloperDiskImage *> * _Nonnull allDiskImages;)
2442
+ + (NSArray<FBDeveloperDiskImage *> * _Nonnull)allDiskImages SWIFT_WARN_UNUSED_RESULT;
2443
+ + (NSString * _Nullable)pathForDeveloperSymbols:(NSString * _Nonnull)buildVersion logger:(id <FBControlCoreLogger> _Nonnull)logger error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
2444
+ + (FBDeveloperDiskImage * _Nullable)bestImageForImages:(NSArray<FBDeveloperDiskImage *> * _Nonnull)images targetVersion:(NSOperatingSystemVersion)targetVersion logger:(id <FBControlCoreLogger> _Nullable)logger error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
2445
+ @property (nonatomic, readonly, copy) NSString * _Nonnull description;
2446
+ - (NSComparisonResult)compare:(FBDeveloperDiskImage * _Nonnull)other SWIFT_WARN_UNUSED_RESULT;
2447
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
2448
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
2449
+ @end
2450
+
2451
+ SWIFT_CLASS_NAMED("FBDeviceType")
2452
+ @interface FBDeviceType : NSObject <NSCopying>
2453
+ @property (nonatomic, readonly) FBDeviceModel _Nonnull model;
2454
+ @property (nonatomic, readonly, copy) NSSet<NSString *> * _Nonnull productTypes;
2455
+ @property (nonatomic, readonly) FBArchitecture _Nonnull deviceArchitecture;
2456
+ @property (nonatomic, readonly) FBControlCoreProductFamily family;
2457
+ + (FBDeviceType * _Nonnull)genericWithName:(NSString * _Nonnull)name SWIFT_WARN_UNUSED_RESULT;
2458
+ - (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT;
2459
+ @property (nonatomic, readonly) NSUInteger hash;
2460
+ @property (nonatomic, readonly, copy) NSString * _Nonnull description;
2461
+ - (id _Nonnull)copyWithZone:(struct _NSZone * _Nullable)zone SWIFT_WARN_UNUSED_RESULT;
2462
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
2463
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
2464
+ @end
2465
+
2466
+ /// A consumer of dispatch_data.
2467
+ SWIFT_PROTOCOL("_TtP13FBControlCore22FBDispatchDataConsumer_")
2468
+ @protocol FBDispatchDataConsumer <NSObject>
2469
+ /// Consumes the provided binary data.
2470
+ - (void)consumeData:(dispatch_data_t _Nonnull)data;
2471
+ /// Consumes an end-of-file.
2472
+ - (void)consumeEndOfFile;
2473
+ @end
2474
+
2475
+ @class FBEventReporterSubject;
2476
+ SWIFT_PROTOCOL_NAMED("FBEventReporter")
2477
+ @protocol FBEventReporter <NSObject>
2478
+ /// Reports a Subject.
2479
+ - (void)report:(FBEventReporterSubject * _Nonnull)subject;
2480
+ /// Add metadata to attach to each report.
2481
+ - (void)addMetadata:(NSDictionary<NSString *, NSString *> * _Nonnull)metadata;
2482
+ /// Gets the total metadata.
2483
+ @property (nonatomic, readonly, copy) NSDictionary<NSString *, NSString *> * _Nonnull metadata;
2484
+ @end
2485
+
2486
+ SWIFT_CLASS_NAMED("FBEventReporterSubject")
2487
+ @interface FBEventReporterSubject : NSObject
2488
+ @property (nonatomic, readonly, copy) NSString * _Nonnull eventName;
2489
+ @property (nonatomic, readonly, copy) NSArray<NSString *> * _Nullable arguments;
2490
+ @property (nonatomic, readonly, strong) NSNumber * _Nullable duration;
2491
+ @property (nonatomic, readonly, strong) NSNumber * _Nullable size;
2492
+ @property (nonatomic, readonly, copy) NSString * _Nullable message;
2493
+ - (nonnull instancetype)initForEvent:(NSString * _Nonnull)eventName;
2494
+ - (nonnull instancetype)initForStartedCall:(NSString * _Nonnull)call arguments:(NSArray<NSString *> * _Nonnull)arguments;
2495
+ - (nonnull instancetype)initForSuccessfulCall:(NSString * _Nonnull)call duration:(NSTimeInterval)duration size:(NSNumber * _Nullable)size arguments:(NSArray<NSString *> * _Nonnull)arguments;
2496
+ - (nonnull instancetype)initForFailingCall:(NSString * _Nonnull)call duration:(NSTimeInterval)duration message:(NSString * _Nonnull)message size:(NSNumber * _Nullable)size arguments:(NSArray<NSString *> * _Nonnull)arguments;
2497
+ + (FBEventReporterSubject * _Nonnull)subjectForEvent:(NSString * _Nonnull)eventName SWIFT_WARN_UNUSED_RESULT;
2498
+ + (FBEventReporterSubject * _Nonnull)subjectForStartedCall:(NSString * _Nonnull)call arguments:(NSArray<NSString *> * _Nonnull)arguments SWIFT_WARN_UNUSED_RESULT;
2499
+ + (FBEventReporterSubject * _Nonnull)subjectForSuccessfulCall:(NSString * _Nonnull)call duration:(NSTimeInterval)duration size:(NSNumber * _Nullable)size arguments:(NSArray<NSString *> * _Nonnull)arguments SWIFT_WARN_UNUSED_RESULT;
2500
+ + (FBEventReporterSubject * _Nonnull)subjectForFailingCall:(NSString * _Nonnull)call duration:(NSTimeInterval)duration message:(NSString * _Nonnull)message size:(NSNumber * _Nullable)size arguments:(NSArray<NSString *> * _Nonnull)arguments SWIFT_WARN_UNUSED_RESULT;
2501
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
2502
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
2503
+ @end
2504
+
2505
+ /// File container backed by <code>AsyncProvisioningProfileCommands</code>.
2506
+ SWIFT_CLASS_NAMED("FBFileContainer_ProvisioningProfile")
2507
+ @interface FBFileContainer_ProvisioningProfile : NSObject
2508
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
2509
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
2510
+ @end
2511
+
2512
+ /// A Protocol for defining file reading.
2513
+ SWIFT_PROTOCOL("_TtP13FBControlCore20FBFileReaderProtocol_")
2514
+ @protocol FBFileReaderProtocol
2515
+ /// Starts the reading the file.
2516
+ - (FBFuture<NSNull *> * _Nonnull)startReading;
2517
+ /// Stops reading the file.
2518
+ - (FBFuture<NSNumber *> * _Nonnull)stopReading;
2519
+ /// Waits for the reader to finish reading, backing off to stopping in the event of a timeout.
2520
+ - (FBFuture<NSNumber *> * _Nonnull)finishedReadingWithTimeout:(NSTimeInterval)timeout;
2521
+ /// The current state of the file reader.
2522
+ @property (nonatomic, readonly) FBFileReaderState state;
2523
+ /// A Future that resolves when the reading of the file handle has no pending operations on the file descriptor.
2524
+ @property (nonatomic, readonly, strong) FBFuture<NSNumber *> * _Nonnull finishedReading;
2525
+ @end
2526
+
2527
+ SWIFT_CLASS_NAMED("FBFileReader")
2528
+ @interface FBFileReader : NSObject <FBFileReaderProtocol>
2529
+ @property (nonatomic, readonly) FBFileReaderState state;
2530
+ + (nonnull instancetype)readerWithFileDescriptor:(int32_t)fileDescriptor closeOnEndOfFile:(BOOL)closeOnEndOfFile consumer:(id <FBDataConsumer> _Nonnull)consumer logger:(id <FBControlCoreLogger> _Nullable)logger SWIFT_WARN_UNUSED_RESULT;
2531
+ + (nonnull instancetype)dispatchDataReaderWithFileDescriptor:(int32_t)fileDescriptor closeOnEndOfFile:(BOOL)closeOnEndOfFile consumer:(id <FBDispatchDataConsumer> _Nonnull)consumer logger:(id <FBControlCoreLogger> _Nullable)logger SWIFT_WARN_UNUSED_RESULT;
2532
+ + (FBFuture<FBFileReader *> * _Nonnull)readerWithFilePath:(NSString * _Nonnull)filePath consumer:(id <FBDataConsumer> _Nonnull)consumer logger:(id <FBControlCoreLogger> _Nullable)logger SWIFT_WARN_UNUSED_RESULT;
2533
+ @property (nonatomic, readonly, copy) NSString * _Nonnull description;
2534
+ - (FBFuture<NSNull *> * _Nonnull)startReading SWIFT_WARN_UNUSED_RESULT;
2535
+ - (FBFuture<NSNumber *> * _Nonnull)stopReading SWIFT_WARN_UNUSED_RESULT;
2536
+ - (FBFuture<NSNumber *> * _Nonnull)finishedReadingWithTimeout:(NSTimeInterval)timeout SWIFT_WARN_UNUSED_RESULT;
2537
+ @property (nonatomic, readonly, strong) FBFuture<NSNumber *> * _Nonnull finishedReading;
2538
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
2539
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
2540
+ @end
2541
+
2542
+ SWIFT_CLASS_NAMED("FBFileWriter")
2543
+ @interface FBFileWriter : NSObject
2544
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) id <FBDataConsumer> _Nonnull nullWriter;)
2545
+ + (id <FBDataConsumer> _Nonnull)nullWriter SWIFT_WARN_UNUSED_RESULT;
2546
+ + (FBFuture<id> * _Nonnull)asyncDispatchDataWriterWithFileDescriptor:(int32_t)fileDescriptor closeOnEndOfFile:(BOOL)closeOnEndOfFile SWIFT_WARN_UNUSED_RESULT;
2547
+ + (id <FBDataConsumer, FBDataConsumerLifecycle> _Nonnull)syncWriterWithFileDescriptor:(int32_t)fileDescriptor closeOnEndOfFile:(BOOL)closeOnEndOfFile SWIFT_WARN_UNUSED_RESULT;
2548
+ + (id <FBDataConsumer, FBDataConsumerLifecycle> _Nullable)asyncWriterWithFileDescriptor:(int32_t)fileDescriptor closeOnEndOfFile:(BOOL)closeOnEndOfFile queue:(dispatch_queue_t _Nonnull)queue error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
2549
+ + (id <FBDataConsumer, FBDataConsumerLifecycle> _Nullable)asyncWriterWithFileDescriptor:(int32_t)fileDescriptor closeOnEndOfFile:(BOOL)closeOnEndOfFile error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
2550
+ + (id <FBDataConsumer, FBDataConsumerLifecycle> _Nullable)syncWriterForFilePath:(NSString * _Nonnull)filePath error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
2551
+ + (FBFuture<id> * _Nonnull)asyncWriterForFilePath:(NSString * _Nonnull)filePath SWIFT_WARN_UNUSED_RESULT;
2552
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
2553
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
2554
+ @end
2555
+
2556
+ /// The Delegate for a Context Manager
2557
+ SWIFT_PROTOCOL("_TtP13FBControlCore30FBFutureContextManagerDelegate_")
2558
+ @protocol FBFutureContextManagerDelegate <NSObject>
2559
+ /// Prepare the Resource.
2560
+ /// \param logger the logger to use.
2561
+ ///
2562
+ ///
2563
+ /// returns:
2564
+ /// a Future that resolves with the prepared context.
2565
+ - (FBFuture<id> * _Nonnull)prepare:(id <FBControlCoreLogger> _Nonnull)logger SWIFT_WARN_UNUSED_RESULT;
2566
+ /// Teardown the resource.
2567
+ /// \param context the context to use.
2568
+ ///
2569
+ /// \param logger the logger to use.
2570
+ ///
2571
+ ///
2572
+ /// returns:
2573
+ /// a Future wrapping NSNull.
2574
+ - (FBFuture<NSNull *> * _Nonnull)teardown:(id _Nonnull)context logger:(id <FBControlCoreLogger> _Nonnull)logger;
2575
+ /// The Name of the Resource.
2576
+ @property (nonatomic, readonly, copy) NSString * _Nonnull contextName;
2577
+ /// The amount of time to allow the resource to be held with no-one utilizing it.
2578
+ /// This is useful for ensuring that the same connection
2579
+ @property (nonatomic, readonly, strong) NSNumber * _Nullable contextPoolTimeout;
2580
+ /// Allows the context to be shared.
2581
+ @property (nonatomic, readonly) BOOL isContextSharable;
2582
+ @end
2583
+
2584
+ SWIFT_CLASS_NAMED("FBInstalledApplication")
2585
+ @interface FBInstalledApplication : NSObject <NSCopying>
2586
+ @property (nonatomic, readonly, strong) FBBundleDescriptor * _Nonnull bundle;
2587
+ @property (nonatomic, readonly) FBApplicationInstallType installType;
2588
+ @property (nonatomic, readonly, copy) NSString * _Nullable dataContainer;
2589
+ @property (nonatomic, readonly, copy) NSString * _Nonnull installTypeString;
2590
+ + (FBInstalledApplication * _Nonnull)installedApplicationWithBundle:(FBBundleDescriptor * _Nonnull)bundle installType:(FBApplicationInstallType)installType dataContainer:(NSString * _Nullable)dataContainer SWIFT_WARN_UNUSED_RESULT;
2591
+ + (FBInstalledApplication * _Nonnull)installedApplicationWithBundle:(FBBundleDescriptor * _Nonnull)bundle installTypeString:(NSString * _Nullable)installTypeString signerIdentity:(NSString * _Nullable)signerIdentity dataContainer:(NSString * _Nullable)dataContainer SWIFT_WARN_UNUSED_RESULT;
2592
+ - (nonnull instancetype)initWithBundle:(FBBundleDescriptor * _Nonnull)bundle installType:(FBApplicationInstallType)installType dataContainer:(NSString * _Nullable)dataContainer OBJC_DESIGNATED_INITIALIZER;
2593
+ - (nonnull instancetype)initWithBundle:(FBBundleDescriptor * _Nonnull)bundle installTypeString:(NSString * _Nullable)installTypeString signerIdentity:(NSString * _Nullable)signerIdentity dataContainer:(NSString * _Nullable)dataContainer;
2594
+ @property (nonatomic, readonly) NSUInteger hash;
2595
+ - (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT;
2596
+ @property (nonatomic, readonly, copy) NSString * _Nonnull description;
2597
+ - (id _Nonnull)copyWithZone:(struct _NSZone * _Nullable)zone SWIFT_WARN_UNUSED_RESULT;
2598
+ + (NSString * _Nonnull)stringFromApplicationInstallType:(FBApplicationInstallType)installType SWIFT_WARN_UNUSED_RESULT;
2599
+ + (FBApplicationInstallType)installTypeFromString:(NSString * _Nullable)installTypeString signerIdentity:(NSString * _Nullable)signerIdentity SWIFT_WARN_UNUSED_RESULT;
2600
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
2601
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
2602
+ @end
2603
+
2604
+ @class FBInstrumentsTimings;
2605
+ SWIFT_CLASS_NAMED("FBInstrumentsConfiguration")
2606
+ @interface FBInstrumentsConfiguration : NSObject <NSCopying>
2607
+ @property (nonatomic, readonly, copy) NSString * _Nonnull templateName;
2608
+ @property (nonatomic, readonly, copy) NSString * _Nonnull targetApplication;
2609
+ @property (nonatomic, readonly, copy) NSDictionary<NSString *, NSString *> * _Nonnull appEnvironment;
2610
+ @property (nonatomic, readonly, copy) NSArray<NSString *> * _Nonnull appArguments;
2611
+ @property (nonatomic, readonly, copy) NSArray<NSString *> * _Nonnull toolArguments;
2612
+ @property (nonatomic, readonly, strong) FBInstrumentsTimings * _Nonnull timings;
2613
+ + (FBInstrumentsConfiguration * _Nonnull)configurationWithTemplateName:(NSString * _Nonnull)templateName targetApplication:(NSString * _Nonnull)targetApplication appEnvironment:(NSDictionary<NSString *, NSString *> * _Nonnull)appEnvironment appArguments:(NSArray<NSString *> * _Nonnull)appArguments toolArguments:(NSArray<NSString *> * _Nonnull)toolArguments timings:(FBInstrumentsTimings * _Nonnull)timings SWIFT_WARN_UNUSED_RESULT;
2614
+ - (nonnull instancetype)initWithTemplateName:(NSString * _Nonnull)templateName targetApplication:(NSString * _Nonnull)targetApplication appEnvironment:(NSDictionary<NSString *, NSString *> * _Nonnull)appEnvironment appArguments:(NSArray<NSString *> * _Nonnull)appArguments toolArguments:(NSArray<NSString *> * _Nonnull)toolArguments timings:(FBInstrumentsTimings * _Nonnull)timings OBJC_DESIGNATED_INITIALIZER;
2615
+ @property (nonatomic, readonly, copy) NSString * _Nonnull description;
2616
+ - (id _Nonnull)copyWithZone:(struct _NSZone * _Nullable)zone SWIFT_WARN_UNUSED_RESULT;
2617
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
2618
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
2619
+ @end
2620
+
2621
+ SWIFT_CLASS_NAMED("FBInstrumentsTimings")
2622
+ @interface FBInstrumentsTimings : NSObject
2623
+ @property (nonatomic, readonly) NSTimeInterval terminateTimeout;
2624
+ @property (nonatomic, readonly) NSTimeInterval launchRetryTimeout;
2625
+ @property (nonatomic, readonly) NSTimeInterval launchErrorTimeout;
2626
+ @property (nonatomic, readonly) NSTimeInterval operationDuration;
2627
+ + (FBInstrumentsTimings * _Nonnull)timingsWithTerminateTimeout:(NSTimeInterval)terminateTimeout launchRetryTimeout:(NSTimeInterval)launchRetryTimeout launchErrorTimeout:(NSTimeInterval)launchErrorTimeout operationDuration:(NSTimeInterval)operationDuration SWIFT_WARN_UNUSED_RESULT;
2628
+ - (nonnull instancetype)initWithTerminateTimeout:(NSTimeInterval)terminateTimeout launchRetryTimeout:(NSTimeInterval)launchRetryTimeout launchErrorTimeout:(NSTimeInterval)launchErrorTimeout operationDuration:(NSTimeInterval)operationDuration OBJC_DESIGNATED_INITIALIZER;
2629
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
2630
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
2631
+ @end
2632
+
2633
+ /// An in-memory representation of a launched application.
2634
+ /// This is distinct from FBSubprocess, as exit codes for the process are not available.
2635
+ /// However, an event for when termination of the application occurs is communicated through a Future.
2636
+ SWIFT_PROTOCOL("_TtP13FBControlCore21FBLaunchedApplication_")
2637
+ @protocol FBLaunchedApplication <NSObject>
2638
+ /// The Bundle Identifier of the Launched Application.
2639
+ @property (nonatomic, readonly, copy) NSString * _Nonnull bundleID;
2640
+ /// The Process Identifier of the Launched Application.
2641
+ @property (nonatomic, readonly) pid_t processIdentifier;
2642
+ /// A future that resolves when the Application has terminated.
2643
+ /// Cancelling this Future will cause the application to terminate.
2644
+ /// Exit code/Signal status of the launched process is not available.
2645
+ @property (nonatomic, readonly, strong) FBFuture<NSNull *> * _Nonnull applicationTerminated;
2646
+ @end
2647
+
2648
+ @interface FBLoggingDataConsumer (SWIFT_EXTENSION(FBControlCore)) <FBDataConsumer>
2649
+ @end
2650
+
2651
+ /// A Consumable buffer that also allows forwarding and notifying.
2652
+ SWIFT_PROTOCOL("_TtP13FBControlCore17FBNotifyingBuffer_")
2653
+ @protocol FBNotifyingBuffer <FBConsumableBuffer>
2654
+ /// Forwards to another data consumer, notifying every time a terminal is passed.
2655
+ - (BOOL)consume:(id <FBDataConsumer> _Nonnull)consumer onQueue:(dispatch_queue_t _Nullable)queue untilTerminal:(NSData * _Nonnull)terminal error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
2656
+ /// Notifies when there has been consumption to a terminal.
2657
+ - (FBFuture<NSData *> * _Nonnull)consumeAndNotifyWhen:(NSData * _Nonnull)terminal SWIFT_WARN_UNUSED_RESULT;
2658
+ /// Consumes based upon a fixed-length header, that can be parsed.
2659
+ - (FBFuture<NSData *> * _Nonnull)consumeHeaderLength:(NSUInteger)headerLength derivedLength:(NSUInteger (^ _Nonnull)(NSData * _Nonnull))derivedLength SWIFT_WARN_UNUSED_RESULT;
2660
+ @end
2661
+
2662
+ @interface FBNullDataConsumer (SWIFT_EXTENSION(FBControlCore)) <FBDataConsumer>
2663
+ @end
2664
+
2665
+ @class NSDecimalNumber;
2666
+ SWIFT_CLASS_NAMED("FBOSVersion")
2667
+ @interface FBOSVersion : NSObject <NSCopying>
2668
+ @property (nonatomic, readonly) FBOSVersionName _Nonnull name;
2669
+ @property (nonatomic, readonly, copy) NSSet<NSNumber *> * _Nonnull families;
2670
+ + (FBOSVersion * _Nonnull)genericWithName:(NSString * _Nonnull)name SWIFT_WARN_UNUSED_RESULT;
2671
+ + (NSOperatingSystemVersion)operatingSystemVersionFromName:(NSString * _Nonnull)name SWIFT_WARN_UNUSED_RESULT;
2672
+ @property (nonatomic, readonly, copy) NSString * _Nonnull versionString;
2673
+ @property (nonatomic, readonly, strong) NSDecimalNumber * _Nonnull number;
2674
+ @property (nonatomic, readonly) NSOperatingSystemVersion version;
2675
+ - (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT;
2676
+ @property (nonatomic, readonly) NSUInteger hash;
2677
+ @property (nonatomic, readonly, copy) NSString * _Nonnull description;
2678
+ - (id _Nonnull)copyWithZone:(struct _NSZone * _Nullable)zone SWIFT_WARN_UNUSED_RESULT;
2679
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
2680
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
2681
+ @end
2682
+
2683
+ /// This parser handles old plain text implementation of crash results
2684
+ SWIFT_CLASS_NAMED("FBPlainTextCrashLogParser")
2685
+ @interface FBPlainTextCrashLogParser : NSObject <FBCrashLogParser>
2686
+ - (void)parseCrashLogFromString:(NSString * _Nonnull)str executablePathOut:(NSString * _Nonnull * _Nonnull)executablePathOut identifierOut:(NSString * _Nonnull * _Nonnull)identifierOut processNameOut:(NSString * _Nonnull * _Nonnull)processNameOut parentProcessNameOut:(NSString * _Nonnull * _Nonnull)parentProcessNameOut processIdentifierOut:(pid_t * _Nonnull)processIdentifierOut parentProcessIdentifierOut:(pid_t * _Nonnull)parentProcessIdentifierOut dateOut:(NSDate * _Nonnull * _Nonnull)dateOut exceptionDescription:(NSString * _Nonnull * _Nonnull)exceptionDescription crashedThreadDescription:(NSString * _Nonnull * _Nonnull)crashedThreadDescription error:(NSError * _Nullable * _Nullable)error;
2687
+ - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
2688
+ @end
2689
+
2690
+ /// Process Output that can be provided through a file.
2691
+ SWIFT_PROTOCOL("_TtP13FBControlCore19FBProcessFileOutput_")
2692
+ @protocol FBProcessFileOutput <NSObject>
2693
+ /// The File Path to write to.
2694
+ @property (nonatomic, readonly, copy) NSString * _Nonnull filePath;
2695
+ /// Should be called just after the file path has been written to.
2696
+ - (FBFuture<NSNull *> * _Nonnull)startReading SWIFT_WARN_UNUSED_RESULT;
2697
+ /// Should be called just after the file has stopped being written to.
2698
+ - (FBFuture<NSNull *> * _Nonnull)stopReading SWIFT_WARN_UNUSED_RESULT;
2699
+ @end
2700
+
2701
+ SWIFT_CLASS_NAMED("FBProcessInfo")
2702
+ @interface FBProcessInfo : NSObject <NSCopying>
2703
+ @property (nonatomic, readonly) pid_t processIdentifier;
2704
+ @property (nonatomic, readonly, copy) NSString * _Nonnull launchPath;
2705
+ @property (nonatomic, readonly, copy) NSArray<NSString *> * _Nonnull arguments;
2706
+ @property (nonatomic, readonly, copy) NSDictionary<NSString *, NSString *> * _Nonnull environment;
2707
+ @property (nonatomic, readonly, copy) NSString * _Nonnull processName;
2708
+ - (nonnull instancetype)initWithProcessIdentifier:(pid_t)processIdentifier launchPath:(NSString * _Nonnull)launchPath arguments:(NSArray<NSString *> * _Nonnull)arguments environment:(NSDictionary<NSString *, NSString *> * _Nonnull)environment OBJC_DESIGNATED_INITIALIZER;
2709
+ @property (nonatomic, readonly) NSUInteger hash;
2710
+ - (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT;
2711
+ @property (nonatomic, readonly, copy) NSString * _Nonnull description;
2712
+ - (id _Nonnull)copyWithZone:(struct _NSZone * _Nullable)zone SWIFT_WARN_UNUSED_RESULT;
2713
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
2714
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
2715
+ @end
2716
+
2717
+ @class FBProcessStreamAttachment;
2718
+ /// A Protocol that wraps the standard stream stdout, stderr, stdin.
2719
+ SWIFT_PROTOCOL("_TtP13FBControlCore16FBStandardStream_")
2720
+ @protocol FBStandardStream <NSObject>
2721
+ /// Attaches to the output, returning an FBProcessStreamAttachment.
2722
+ - (FBFuture<FBProcessStreamAttachment *> * _Nonnull)attach SWIFT_WARN_UNUSED_RESULT;
2723
+ /// Tears down the output.
2724
+ - (FBFuture<NSNull *> * _Nonnull)detach SWIFT_WARN_UNUSED_RESULT;
2725
+ @end
2726
+
2727
+ @interface FBProcessInput<WrappedType> (SWIFT_EXTENSION(FBControlCore)) <FBStandardStream>
2728
+ @end
2729
+
2730
+ SWIFT_CLASS_NAMED("FBProcessLogOperation")
2731
+ @interface FBProcessLogOperation : NSObject
2732
+ @property (nonatomic, readonly, strong) FBSubprocess<id, id, id> * _Nonnull process;
2733
+ @property (nonatomic, readonly, strong) id <FBDataConsumer> _Nonnull consumer;
2734
+ - (nonnull instancetype)initWithProcess:(FBSubprocess<id, id, id> * _Nonnull)process consumer:(id <FBDataConsumer> _Nonnull)consumer queue:(dispatch_queue_t _Nonnull)queue OBJC_DESIGNATED_INITIALIZER;
2735
+ @property (nonatomic, readonly, strong) FBFuture<NSNull *> * _Nonnull completed;
2736
+ + (NSArray<NSString *> * _Nonnull)osLogArgumentsInsertStreamIfNeeded:(NSArray<NSString *> * _Nonnull)arguments SWIFT_WARN_UNUSED_RESULT;
2737
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
2738
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
2739
+ @end
2740
+
2741
+ /// Process Output that can be provided through a file.
2742
+ SWIFT_PROTOCOL_NAMED("FBProcessOutputProtocol")
2743
+ @protocol FBProcessOutput <NSObject>
2744
+ /// Allows the receiver to be written to via a file instead of via a file handle.
2745
+ - (FBFuture<id <FBProcessFileOutput>> * _Nonnull)providedThroughFile SWIFT_WARN_UNUSED_RESULT;
2746
+ /// Allows the receiver to be written to via a Data Consumer.
2747
+ - (FBFuture<id <FBDataConsumer>> * _Nonnull)providedThroughConsumer SWIFT_WARN_UNUSED_RESULT;
2748
+ @end
2749
+
2750
+ @interface FBProcessOutput<WrappedType> (SWIFT_EXTENSION(FBControlCore)) <FBProcessOutput, FBStandardStream>
2751
+ @end
2752
+
2753
+ @class FBProcessIOAttachment;
2754
+ SWIFT_CLASS_NAMED("FBProcessSpawnCommandHelpers")
2755
+ @interface FBProcessSpawnCommandHelpers : NSObject
2756
+ + (void)resolveProcessFinishedWithStatLoc:(int32_t)statLoc inTeardownOfIOAttachment:(FBProcessIOAttachment * _Nonnull)attachment statLocFuture:(FBMutableFuture<NSNumber *> * _Nonnull)statLocFuture exitCodeFuture:(FBMutableFuture<NSNumber *> * _Nonnull)exitCodeFuture signalFuture:(FBMutableFuture<NSNumber *> * _Nonnull)signalFuture processIdentifier:(pid_t)processIdentifier configuration:(FBProcessSpawnConfiguration * _Nonnull)configuration queue:(dispatch_queue_t _Nonnull)queue logger:(id <FBControlCoreLogger> _Nullable)logger;
2757
+ - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
2758
+ @end
2759
+
2760
+ SWIFT_ENUM_FWD_DECL(NSUInteger, FBProcessSpawnMode)
2761
+ SWIFT_CLASS_NAMED("FBProcessSpawnConfiguration")
2762
+ @interface FBProcessSpawnConfiguration : FBProcessLaunchConfiguration
2763
+ @property (nonatomic, readonly, copy) NSString * _Nonnull launchPath;
2764
+ @property (nonatomic, readonly) enum FBProcessSpawnMode mode;
2765
+ @property (nonatomic, readonly, copy) NSString * _Nonnull processName;
2766
+ - (nonnull instancetype)initWithLaunchPath:(NSString * _Nonnull)launchPath arguments:(NSArray<NSString *> * _Nonnull)arguments environment:(NSDictionary<NSString *, NSString *> * _Nonnull)environment io:(FBProcessIO<id, id, id> * _Nonnull)io mode:(enum FBProcessSpawnMode)mode OBJC_DESIGNATED_INITIALIZER;
2767
+ @property (nonatomic, readonly) NSUInteger hash;
2768
+ - (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT;
2769
+ @property (nonatomic, readonly, copy) NSString * _Nonnull description;
2770
+ - (nonnull instancetype)initWithArguments:(NSArray<NSString *> * _Nonnull)arguments environment:(NSDictionary<NSString *, NSString *> * _Nonnull)environment io:(FBProcessIO<id, id, id> * _Nonnull)io SWIFT_UNAVAILABLE;
2771
+ @end
2772
+
2773
+ typedef SWIFT_ENUM_NAMED(NSUInteger, FBProcessSpawnMode, "FBProcessSpawnMode", open) {
2774
+ FBProcessSpawnModeDefault = 0,
2775
+ FBProcessSpawnModePosixSpawn = 1,
2776
+ FBProcessSpawnModeLaunchd = 2,
2777
+ };
2778
+
2779
+ @class FBProcessFetcher;
2780
+ SWIFT_CLASS_NAMED("FBProcessTerminationStrategy")
2781
+ @interface FBProcessTerminationStrategy : NSObject
2782
+ + (nonnull instancetype)strategyWithConfiguration:(FBProcessTerminationStrategyConfiguration)configuration processFetcher:(FBProcessFetcher * _Nonnull)processFetcher workQueue:(dispatch_queue_t _Nonnull)workQueue logger:(id <FBControlCoreLogger> _Nonnull)logger SWIFT_WARN_UNUSED_RESULT;
2783
+ + (nonnull instancetype)strategyWithProcessFetcher:(FBProcessFetcher * _Nonnull)processFetcher workQueue:(dispatch_queue_t _Nonnull)workQueue logger:(id <FBControlCoreLogger> _Nonnull)logger SWIFT_WARN_UNUSED_RESULT;
2784
+ - (FBFuture<NSNull *> * _Nonnull)killProcessIdentifier:(pid_t)processIdentifier;
2785
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
2786
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
2787
+ @end
2788
+
2789
+ @class FBSocketServer;
2790
+ /// The Delegate for the Server.
2791
+ SWIFT_PROTOCOL("_TtP13FBControlCore22FBSocketServerDelegate_")
2792
+ @protocol FBSocketServerDelegate <NSObject>
2793
+ /// Called when the socket server has a new client connected.
2794
+ /// The File Descriptor will not be automatically be closed, so it’s up to implementors to ensure that this happens so file descriptors do not leak.
2795
+ /// If you wish to reject the connection, close the file handle immediately.
2796
+ /// \param server the socket server.
2797
+ ///
2798
+ /// \param address the IP Address of the connected client.
2799
+ ///
2800
+ /// \param fileDescriptor the file descriptor of the connected socket.
2801
+ ///
2802
+ - (void)socketServer:(FBSocketServer * _Nonnull)server clientConnected:(struct in6_addr)address fileDescriptor:(int32_t)fileDescriptor;
2803
+ /// The Queue on which the Delegate will be called.
2804
+ /// This may be a serial or a concurrent queue.
2805
+ @property (nonatomic, readonly, strong) dispatch_queue_t _Nonnull queue;
2806
+ @end
2807
+
2808
+ /// Provides information about the state of a stream.
2809
+ SWIFT_PROTOCOL("_TtP13FBControlCore24FBStandardStreamTransfer_")
2810
+ @protocol FBStandardStreamTransfer <NSObject>
2811
+ /// The number of bytes transferred.
2812
+ @property (nonatomic, readonly) NSInteger bytesTransferred;
2813
+ /// An error, if any has occurred in the streaming of data to the input.
2814
+ @property (nonatomic, readonly) NSError * _Nullable streamError;
2815
+ @end
2816
+
2817
+ SWIFT_CLASS_NAMED("FBStorageUtils")
2818
+ @interface FBStorageUtils : NSObject
2819
+ + (NSDictionary<NSString *, NSSet<NSURL *> *> * _Nullable)bucketFilesWithExtensions:(NSSet<NSString *> * _Nonnull)extensions inDirectory:(NSURL * _Nonnull)directory error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
2820
+ + (NSURL * _Nullable)findFileWithExtension:(NSString * _Nonnull)ext atURL:(NSURL * _Nonnull)url error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
2821
+ + (NSSet<NSURL *> * _Nullable)findFilesWithExtension:(NSString * _Nonnull)ext atURL:(NSURL * _Nonnull)url error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
2822
+ + (NSURL * _Nullable)findUniqueFileInDirectory:(NSURL * _Nonnull)directory error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
2823
+ + (NSArray<NSURL *> * _Nullable)filesInDirectory:(NSURL * _Nonnull)directory error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
2824
+ + (FBBundleDescriptor * _Nullable)bundleInDirectory:(NSURL * _Nonnull)directory error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
2825
+ - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
2826
+ @end
2827
+
2828
+ /// One-slot-per-protocol cache for command class instances bound to a single
2829
+ /// target. Each <code>resolve</code> call for a distinct <code>T</code> creates an independent slot
2830
+ /// keyed by the protocol metatype, so callers can cache as many command kinds
2831
+ /// as they ask for without registering anything up front.
2832
+ /// The lock is held across <code>build</code> so concurrent first-access from two RPCs
2833
+ /// can’t double-construct the same command class – important for stateful
2834
+ /// command classes that own queues / connections per target.
2835
+ SWIFT_CLASS("_TtC13FBControlCore20FBTargetCommandCache")
2836
+ @interface FBTargetCommandCache : NSObject
2837
+ - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
2838
+ @end
2839
+
2840
+ SWIFT_CLASS_NAMED("FBTemporaryDirectory")
2841
+ @interface FBTemporaryDirectory : NSObject
2842
+ @property (nonatomic, readonly, strong) id <FBControlCoreLogger> _Nonnull logger;
2843
+ @property (nonatomic, readonly, strong) dispatch_queue_t _Nonnull queue;
2844
+ + (nonnull instancetype)temporaryDirectoryWithLogger:(id <FBControlCoreLogger> _Nonnull)logger SWIFT_WARN_UNUSED_RESULT;
2845
+ - (nonnull instancetype)initWithLogger:(id <FBControlCoreLogger> _Nonnull)logger;
2846
+ - (void)cleanOnExit;
2847
+ - (NSURL * _Nonnull)ephemeralTemporaryDirectory SWIFT_WARN_UNUSED_RESULT;
2848
+ - (FBFutureContext<NSURL *> * _Nonnull)withGzipExtractedFromStream:(FBProcessInput<id> * _Nonnull)input name:(NSString * _Nonnull)name SWIFT_WARN_UNUSED_RESULT;
2849
+ - (FBFutureContext<NSURL *> * _Nonnull)withArchiveExtracted:(NSData * _Nonnull)tarData SWIFT_WARN_UNUSED_RESULT;
2850
+ - (FBFutureContext<NSURL *> * _Nonnull)withArchiveExtractedFromStream:(FBProcessInput<id> * _Nonnull)input compression:(FBCompressionFormat)compression SWIFT_WARN_UNUSED_RESULT;
2851
+ - (FBFutureContext<NSURL *> * _Nonnull)withArchiveExtractedFromStream:(FBProcessInput<id> * _Nonnull)input compression:(FBCompressionFormat)compression overrideModificationTime:(BOOL)overrideMTime SWIFT_WARN_UNUSED_RESULT;
2852
+ - (FBFutureContext<NSURL *> * _Nonnull)withArchiveExtractedFromFile:(NSString * _Nonnull)filePath SWIFT_WARN_UNUSED_RESULT;
2853
+ - (FBFutureContext<NSURL *> * _Nonnull)withArchiveExtractedFromFile:(NSString * _Nonnull)filePath overrideModificationTime:(BOOL)overrideMTime SWIFT_WARN_UNUSED_RESULT;
2854
+ - (FBFutureContext<NSArray *> * _Nonnull)filesFromSubdirs:(FBFutureContext<NSURL *> * _Nonnull)extractionDirContext SWIFT_WARN_UNUSED_RESULT;
2855
+ - (NSURL * _Nonnull)temporaryDirectory SWIFT_WARN_UNUSED_RESULT;
2856
+ - (FBFutureContext<NSURL *> * _Nonnull)withTemporaryDirectory SWIFT_WARN_UNUSED_RESULT;
2857
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
2858
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
2859
+ @end
2860
+
2861
+ SWIFT_CLASS_NAMED("FBTestLaunchConfiguration")
2862
+ @interface FBTestLaunchConfiguration : NSObject <NSCopying>
2863
+ @property (nonatomic, readonly, strong) FBBundleDescriptor * _Nonnull testBundle;
2864
+ @property (nonatomic, readonly, strong) FBApplicationLaunchConfiguration * _Nonnull applicationLaunchConfiguration;
2865
+ @property (nonatomic, readonly, strong) FBBundleDescriptor * _Nullable testHostBundle;
2866
+ @property (nonatomic, readonly) NSTimeInterval timeout;
2867
+ @property (nonatomic, readonly) BOOL shouldInitializeUITesting;
2868
+ @property (nonatomic, readonly) BOOL shouldUseXcodebuild;
2869
+ @property (nonatomic, readonly, copy) NSSet<NSString *> * _Nullable testsToRun;
2870
+ @property (nonatomic, readonly, copy) NSSet<NSString *> * _Nullable testsToSkip;
2871
+ @property (nonatomic, readonly, strong) FBBundleDescriptor * _Nullable targetApplicationBundle;
2872
+ @property (nonatomic, readonly, copy) NSDictionary<NSString *, id> * _Nullable xcTestRunProperties;
2873
+ @property (nonatomic, readonly, copy) NSString * _Nullable resultBundlePath;
2874
+ @property (nonatomic, readonly) BOOL reportActivities;
2875
+ @property (nonatomic, readonly, copy) NSString * _Nullable coverageDirectoryPath;
2876
+ @property (nonatomic, readonly) BOOL shouldEnableContinuousCoverageCollection;
2877
+ @property (nonatomic, readonly, copy) NSString * _Nullable logDirectoryPath;
2878
+ @property (nonatomic, readonly) BOOL reportResultBundle;
2879
+ - (nonnull instancetype)initWithTestBundle:(FBBundleDescriptor * _Nonnull)testBundle applicationLaunchConfiguration:(FBApplicationLaunchConfiguration * _Nonnull)applicationLaunchConfiguration testHostBundle:(FBBundleDescriptor * _Nullable)testHostBundle timeout:(NSTimeInterval)timeout initializeUITesting:(BOOL)initializeUITesting useXcodebuild:(BOOL)useXcodebuild testsToRun:(NSSet<NSString *> * _Nullable)testsToRun testsToSkip:(NSSet<NSString *> * _Nullable)testsToSkip targetApplicationBundle:(FBBundleDescriptor * _Nullable)targetApplicationBundle xcTestRunProperties:(NSDictionary<NSString *, id> * _Nullable)xcTestRunProperties resultBundlePath:(NSString * _Nullable)resultBundlePath reportActivities:(BOOL)reportActivities coverageDirectoryPath:(NSString * _Nullable)coverageDirectoryPath enableContinuousCoverageCollection:(BOOL)enableContinuousCoverageCollection logDirectoryPath:(NSString * _Nullable)logDirectoryPath reportResultBundle:(BOOL)reportResultBundle OBJC_DESIGNATED_INITIALIZER;
2880
+ - (id _Nonnull)copyWithZone:(struct _NSZone * _Nullable)zone SWIFT_WARN_UNUSED_RESULT;
2881
+ - (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT;
2882
+ @property (nonatomic, readonly) NSUInteger hash;
2883
+ @property (nonatomic, readonly, copy) NSString * _Nonnull description;
2884
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
2885
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
2886
+ @end
2887
+
2888
+ @class AVCaptureSession;
2889
+ @class AVCaptureFileOutput;
2890
+ @class AVCaptureConnection;
2891
+ SWIFT_CLASS_NAMED("FBVideoFileWriter")
2892
+ @interface FBVideoFileWriter : NSObject <AVCaptureFileOutputRecordingDelegate>
2893
+ + (nullable instancetype)writerWithSession:(AVCaptureSession * _Nonnull)session filePath:(NSString * _Nonnull)filePath logger:(id <FBControlCoreLogger> _Nonnull)logger error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
2894
+ - (FBFuture<NSNull *> * _Nonnull)startRecording SWIFT_WARN_UNUSED_RESULT;
2895
+ - (FBFuture<NSNull *> * _Nonnull)stopRecording SWIFT_WARN_UNUSED_RESULT;
2896
+ - (FBFuture<NSNull *> * _Nonnull)completed SWIFT_WARN_UNUSED_RESULT;
2897
+ - (void)captureOutput:(AVCaptureFileOutput * _Nonnull)output didStartRecordingToOutputFileAtURL:(NSURL * _Nonnull)fileURL fromConnections:(NSArray<AVCaptureConnection *> * _Nonnull)connections;
2898
+ - (void)captureOutput:(AVCaptureFileOutput * _Nonnull)output didPauseRecordingToOutputFileAtURL:(NSURL * _Nonnull)fileURL fromConnections:(NSArray<AVCaptureConnection *> * _Nonnull)connections;
2899
+ - (void)captureOutput:(AVCaptureFileOutput * _Nonnull)output willFinishRecordingToOutputFileAtURL:(NSURL * _Nonnull)outputFileURL fromConnections:(NSArray<AVCaptureConnection *> * _Nonnull)connections error:(NSError * _Nullable)error;
2900
+ - (void)captureOutput:(AVCaptureFileOutput * _Nonnull)output didFinishRecordingToOutputFileAtURL:(NSURL * _Nonnull)outputFileURL fromConnections:(NSArray<AVCaptureConnection *> * _Nonnull)connections error:(NSError * _Nullable)error;
2901
+ - (void)captureOutput:(AVCaptureFileOutput * _Nonnull)output didResumeRecordingToOutputFileAtURL:(NSURL * _Nonnull)fileURL fromConnections:(NSArray<AVCaptureConnection *> * _Nonnull)connections;
2902
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
2903
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
2904
+ @end
2905
+
2906
+ /// Streams Bitmaps to a File Sink.
2907
+ SWIFT_PROTOCOL("_TtP13FBControlCore13FBVideoStream_")
2908
+ @protocol FBVideoStream <FBiOSTargetOperation>
2909
+ /// Starts the Streaming, to a Data Consumer.
2910
+ - (FBFuture<NSNull *> * _Nonnull)startStreaming:(id <FBDataConsumer> _Nonnull)consumer SWIFT_WARN_UNUSED_RESULT;
2911
+ /// Stops the Streaming.
2912
+ - (FBFuture<NSNull *> * _Nonnull)stopStreaming SWIFT_WARN_UNUSED_RESULT;
2913
+ @end
2914
+
2915
+ @class FBVideoStreamFormat;
2916
+ @class FBVideoStreamRateControl;
2917
+ SWIFT_CLASS_NAMED("FBVideoStreamConfiguration")
2918
+ @interface FBVideoStreamConfiguration : NSObject <NSCopying>
2919
+ @property (nonatomic, readonly, strong) FBVideoStreamFormat * _Nonnull format;
2920
+ @property (nonatomic, readonly, strong) NSNumber * _Nullable framesPerSecond;
2921
+ @property (nonatomic, readonly, strong) FBVideoStreamRateControl * _Nonnull rateControl;
2922
+ @property (nonatomic, readonly, strong) NSNumber * _Nullable scaleFactor;
2923
+ @property (nonatomic, readonly, strong) NSNumber * _Nonnull keyFrameRate;
2924
+ - (nonnull instancetype)initWithFormat:(FBVideoStreamFormat * _Nonnull)format framesPerSecond:(NSNumber * _Nullable)framesPerSecond rateControl:(FBVideoStreamRateControl * _Nullable)rateControl scaleFactor:(NSNumber * _Nullable)scaleFactor keyFrameRate:(NSNumber * _Nullable)keyFrameRate OBJC_DESIGNATED_INITIALIZER;
2925
+ - (id _Nonnull)copyWithZone:(struct _NSZone * _Nullable)zone SWIFT_WARN_UNUSED_RESULT;
2926
+ - (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT;
2927
+ @property (nonatomic, readonly) NSUInteger hash;
2928
+ @property (nonatomic, readonly, copy) NSString * _Nonnull description;
2929
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
2930
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
2931
+ @end
2932
+
2933
+ SWIFT_CLASS_NAMED("FBVideoStreamFormat")
2934
+ @interface FBVideoStreamFormat : NSObject <NSCopying>
2935
+ @property (nonatomic, readonly) FBVideoStreamFormatType type;
2936
+ @property (nonatomic, readonly) FBVideoStreamCodec _Nullable codec;
2937
+ @property (nonatomic, readonly) FBVideoStreamTransport _Nullable transport;
2938
+ + (FBVideoStreamFormat * _Nonnull)compressedVideoWithCodec:(FBVideoStreamCodec _Nonnull)codec transport:(FBVideoStreamTransport _Nonnull)transport SWIFT_WARN_UNUSED_RESULT;
2939
+ + (FBVideoStreamFormat * _Nonnull)mjpeg SWIFT_WARN_UNUSED_RESULT;
2940
+ + (FBVideoStreamFormat * _Nonnull)minicap SWIFT_WARN_UNUSED_RESULT;
2941
+ + (FBVideoStreamFormat * _Nonnull)bgra SWIFT_WARN_UNUSED_RESULT;
2942
+ - (id _Nonnull)copyWithZone:(struct _NSZone * _Nullable)zone SWIFT_WARN_UNUSED_RESULT;
2943
+ - (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT;
2944
+ @property (nonatomic, readonly) NSUInteger hash;
2945
+ @property (nonatomic, readonly, copy) NSString * _Nonnull description;
2946
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
2947
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
2948
+ @end
2949
+
2950
+ SWIFT_CLASS_NAMED("FBVideoStreamRateControl")
2951
+ @interface FBVideoStreamRateControl : NSObject <NSCopying>
2952
+ @property (nonatomic, readonly) FBVideoStreamRateControlMode mode;
2953
+ @property (nonatomic, readonly, strong) NSNumber * _Nonnull value;
2954
+ + (FBVideoStreamRateControl * _Nonnull)quality:(NSNumber * _Nonnull)quality SWIFT_WARN_UNUSED_RESULT;
2955
+ + (FBVideoStreamRateControl * _Nonnull)bitrate:(NSNumber * _Nonnull)bitrate SWIFT_WARN_UNUSED_RESULT;
2956
+ - (id _Nonnull)copyWithZone:(struct _NSZone * _Nullable)zone SWIFT_WARN_UNUSED_RESULT;
2957
+ - (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT;
2958
+ @property (nonatomic, readonly) NSUInteger hash;
2959
+ @property (nonatomic, readonly, copy) NSString * _Nonnull description;
2960
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
2961
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
2962
+ @end
2963
+
2964
+ SWIFT_CLASS_NAMED("FBWeakFramework")
2965
+ @interface FBWeakFramework : NSObject
2966
+ @property (nonatomic, readonly, copy) NSString * _Nonnull name;
2967
+ + (FBWeakFramework * _Nonnull)xcodeFrameworkWithRelativePath:(NSString * _Nonnull)relativePath requiredClassNames:(NSArray<NSString *> * _Nonnull)requiredClassNames SWIFT_WARN_UNUSED_RESULT;
2968
+ + (FBWeakFramework * _Nonnull)frameworkWithPath:(NSString * _Nonnull)absolutePath requiredClassNames:(NSArray<NSString *> * _Nonnull)requiredClassNames rootPermitted:(BOOL)rootPermitted SWIFT_WARN_UNUSED_RESULT;
2969
+ - (BOOL)loadWithLogger:(id <FBControlCoreLogger> _Nonnull)logger error:(NSError * _Nullable * _Nullable)error;
2970
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
2971
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
2972
+ @end
2973
+
2974
+ @interface FBWeakFramework (SWIFT_EXTENSION(FBControlCore))
2975
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) FBWeakFramework * _Nonnull CoreSimulator;)
2976
+ + (FBWeakFramework * _Nonnull)CoreSimulator SWIFT_WARN_UNUSED_RESULT;
2977
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) FBWeakFramework * _Nonnull SimulatorKit;)
2978
+ + (FBWeakFramework * _Nonnull)SimulatorKit SWIFT_WARN_UNUSED_RESULT;
2979
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) FBWeakFramework * _Nonnull DTXConnectionServices;)
2980
+ + (FBWeakFramework * _Nonnull)DTXConnectionServices SWIFT_WARN_UNUSED_RESULT;
2981
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) FBWeakFramework * _Nonnull XCTDaemonControl;)
2982
+ + (FBWeakFramework * _Nonnull)XCTDaemonControl SWIFT_WARN_UNUSED_RESULT;
2983
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) FBWeakFramework * _Nonnull XCUIAutomation;)
2984
+ + (FBWeakFramework * _Nonnull)XCUIAutomation SWIFT_WARN_UNUSED_RESULT;
2985
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) FBWeakFramework * _Nonnull XCTest;)
2986
+ + (FBWeakFramework * _Nonnull)XCTest SWIFT_WARN_UNUSED_RESULT;
2987
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) FBWeakFramework * _Nonnull MobileDevice;)
2988
+ + (FBWeakFramework * _Nonnull)MobileDevice SWIFT_WARN_UNUSED_RESULT;
2989
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) FBWeakFramework * _Nonnull AccessibilityPlatformTranslation;)
2990
+ + (FBWeakFramework * _Nonnull)AccessibilityPlatformTranslation SWIFT_WARN_UNUSED_RESULT;
2991
+ @end
2992
+
2993
+ /// Commands related to XCTest Execution.
2994
+ /// FBXCTestReporter is defined in XCTestBootstrap – reporter is typed as AnyObject to avoid circular module dependency.
2995
+ SWIFT_PROTOCOL("_TtP13FBControlCore16FBXCTestCommands_")
2996
+ @protocol FBXCTestCommands <FBiOSTargetCommand>
2997
+ /// Bootstraps a test run using a Test Launch Configuration.
2998
+ - (FBFuture<NSNull *> * _Nonnull)runTestWithLaunchConfiguration:(FBTestLaunchConfiguration * _Nonnull)testLaunchConfiguration reporter:(id _Nonnull)reporter logger:(id <FBControlCoreLogger> _Nonnull)logger SWIFT_WARN_UNUSED_RESULT;
2999
+ @end
3000
+
3001
+ /// Extended commands supported on some platforms.
3002
+ SWIFT_PROTOCOL("_TtP13FBControlCore24FBXCTestExtendedCommands_")
3003
+ @protocol FBXCTestExtendedCommands <FBXCTestCommands>
3004
+ /// Lists the testables for a provided test bundle.
3005
+ - (FBFuture<NSArray *> * _Nonnull)listTestsForBundleAtPath:(NSString * _Nonnull)bundlePath timeout:(NSTimeInterval)timeout withAppAtPath:(NSString * _Nullable)appPath SWIFT_WARN_UNUSED_RESULT;
3006
+ /// Returns the platform specific shims.
3007
+ - (FBFuture<NSString *> * _Nonnull)extendedTestShim SWIFT_WARN_UNUSED_RESULT;
3008
+ /// Starts ‘testmanagerd’ connection and creates socket to it.
3009
+ - (FBFutureContext<NSNumber *> * _Nonnull)transportForTestManagerService SWIFT_WARN_UNUSED_RESULT;
3010
+ /// The Path to the xctest executable.
3011
+ @property (nonatomic, readonly, copy) NSString * _Nonnull xctestPath;
3012
+ @end
3013
+
3014
+ SWIFT_CLASS_NAMED("FBXCTestShimConfiguration")
3015
+ @interface FBXCTestShimConfiguration : NSObject <NSCopying>
3016
+ @property (nonatomic, readonly, copy) NSString * _Nonnull iOSSimulatorTestShimPath;
3017
+ @property (nonatomic, readonly, copy) NSString * _Nonnull macOSTestShimPath;
3018
+ - (nonnull instancetype)initWithIOSSimulatorTestShimPath:(NSString * _Nonnull)iOSSimulatorTestShimPath macOSTestShimPath:(NSString * _Nonnull)macOSTestShimPath OBJC_DESIGNATED_INITIALIZER;
3019
+ + (FBFuture<NSString *> * _Nonnull)findShimDirectoryOnQueue:(dispatch_queue_t _Nonnull)queue logger:(id <FBControlCoreLogger> _Nullable)logger SWIFT_WARN_UNUSED_RESULT;
3020
+ + (FBFuture<FBXCTestShimConfiguration *> * _Nonnull)sharedShimConfigurationWithLogger:(id <FBControlCoreLogger> _Nullable)logger SWIFT_WARN_UNUSED_RESULT;
3021
+ + (FBFuture<FBXCTestShimConfiguration *> * _Nonnull)defaultShimConfigurationWith:(id <FBControlCoreLogger> _Nullable)logger SWIFT_WARN_UNUSED_RESULT;
3022
+ + (FBFuture<FBXCTestShimConfiguration *> * _Nonnull)shimConfigurationWithDirectory:(NSString * _Nonnull)directory logger:(id <FBControlCoreLogger> _Nullable)logger SWIFT_WARN_UNUSED_RESULT;
3023
+ - (id _Nonnull)copyWithZone:(struct _NSZone * _Nullable)zone SWIFT_WARN_UNUSED_RESULT;
3024
+ - (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT;
3025
+ @property (nonatomic, readonly) NSUInteger hash;
3026
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
3027
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
3028
+ @end
3029
+
3030
+ SWIFT_CLASS_NAMED("FBXCTraceRecordCommands")
3031
+ @interface FBXCTraceRecordCommands : NSObject <FBiOSTargetCommand>
3032
+ @property (nonatomic, readonly, strong) id <FBiOSTarget> _Nonnull target;
3033
+ + (nonnull instancetype)commandsWithTarget:(id <FBiOSTarget> _Nonnull)target SWIFT_WARN_UNUSED_RESULT;
3034
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
3035
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
3036
+ @end
3037
+
3038
+ SWIFT_CLASS_NAMED("FBXCTraceRecordConfiguration")
3039
+ @interface FBXCTraceRecordConfiguration : NSObject <NSCopying>
3040
+ @property (nonatomic, readonly, copy) NSString * _Nonnull templateName;
3041
+ @property (nonatomic, readonly) NSTimeInterval timeLimit;
3042
+ @property (nonatomic, readonly, copy) NSString * _Nullable package;
3043
+ @property (nonatomic, readonly) BOOL allProcesses;
3044
+ @property (nonatomic, readonly, copy) NSString * _Nullable processToAttach;
3045
+ @property (nonatomic, readonly, copy) NSString * _Nullable processToLaunch;
3046
+ @property (nonatomic, readonly, copy) NSArray<NSString *> * _Nullable launchArgs;
3047
+ @property (nonatomic, readonly, copy) NSString * _Nullable targetStdin;
3048
+ @property (nonatomic, readonly, copy) NSString * _Nullable targetStdout;
3049
+ @property (nonatomic, readonly, copy) NSDictionary<NSString *, NSString *> * _Nullable processEnv;
3050
+ @property (nonatomic, readonly, strong) FBXCTestShimConfiguration * _Nullable shim;
3051
+ + (FBXCTraceRecordConfiguration * _Nonnull)RecordWithTemplateName:(NSString * _Nonnull)templateName timeLimit:(NSTimeInterval)timeLimit package:(NSString * _Nullable)package allProcesses:(BOOL)allProcesses processToAttach:(NSString * _Nullable)processToAttach processToLaunch:(NSString * _Nullable)processToLaunch launchArgs:(NSArray<NSString *> * _Nullable)launchArgs targetStdin:(NSString * _Nullable)targetStdin targetStdout:(NSString * _Nullable)targetStdout processEnv:(NSDictionary<NSString *, NSString *> * _Nullable)processEnv shim:(FBXCTestShimConfiguration * _Nullable)shim SWIFT_WARN_UNUSED_RESULT;
3052
+ - (nonnull instancetype)initWithTemplateName:(NSString * _Nonnull)templateName timeLimit:(NSTimeInterval)timeLimit package:(NSString * _Nullable)package allProcesses:(BOOL)allProcesses processToAttach:(NSString * _Nullable)processToAttach processToLaunch:(NSString * _Nullable)processToLaunch launchArgs:(NSArray<NSString *> * _Nullable)launchArgs targetStdin:(NSString * _Nullable)targetStdin targetStdout:(NSString * _Nullable)targetStdout processEnv:(NSDictionary<NSString *, NSString *> * _Nullable)processEnv shim:(FBXCTestShimConfiguration * _Nullable)shim OBJC_DESIGNATED_INITIALIZER;
3053
+ - (FBXCTraceRecordConfiguration * _Nonnull)withShim:(FBXCTestShimConfiguration * _Nonnull)shim SWIFT_WARN_UNUSED_RESULT;
3054
+ @property (nonatomic, readonly, copy) NSString * _Nonnull description;
3055
+ - (id _Nonnull)copyWithZone:(struct _NSZone * _Nullable)zone SWIFT_WARN_UNUSED_RESULT;
3056
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
3057
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
3058
+ @end
3059
+
3060
+ SWIFT_CLASS_NAMED("FBXCTraceRecordOperation")
3061
+ @interface FBXCTraceRecordOperation : NSObject <FBiOSTargetOperation>
3062
+ @property (nonatomic, readonly, strong) FBSubprocess<id, id, id> * _Nonnull task;
3063
+ @property (nonatomic, readonly, strong) dispatch_queue_t _Nonnull queue;
3064
+ @property (nonatomic, readonly, copy) NSURL * _Nonnull traceDir;
3065
+ @property (nonatomic, readonly, strong) FBXCTraceRecordConfiguration * _Nonnull configuration;
3066
+ @property (nonatomic, readonly, strong) id <FBControlCoreLogger> _Nonnull logger;
3067
+ - (nonnull instancetype)initWithTask:(FBSubprocess<id, id, id> * _Nonnull)task traceDir:(NSURL * _Nonnull)traceDir configuration:(FBXCTraceRecordConfiguration * _Nonnull)configuration queue:(dispatch_queue_t _Nonnull)queue logger:(id <FBControlCoreLogger> _Nonnull)logger OBJC_DESIGNATED_INITIALIZER;
3068
+ + (FBFuture<FBXCTraceRecordOperation *> * _Nonnull)operationWithTarget:(id <FBiOSTarget> _Nonnull)target configuration:(FBXCTraceRecordConfiguration * _Nonnull)configuration logger:(id <FBControlCoreLogger> _Nonnull)logger SWIFT_WARN_UNUSED_RESULT;
3069
+ - (FBFuture<NSURL *> * _Nonnull)stopWithTimeout:(NSTimeInterval)timeout SWIFT_WARN_UNUSED_RESULT;
3070
+ + (FBFuture<NSURL *> * _Nonnull)postProcess:(NSArray<NSString *> * _Nullable)arguments traceDir:(NSURL * _Nonnull)traceDir queue:(dispatch_queue_t _Nonnull)queue logger:(id <FBControlCoreLogger> _Nullable)logger SWIFT_WARN_UNUSED_RESULT;
3071
+ @property (nonatomic, readonly, strong) FBFuture<NSNull *> * _Nonnull completed;
3072
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
3073
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
3074
+ @end
3075
+
3076
+ @class NSNumberFormatter;
3077
+ SWIFT_CLASS_NAMED("FBXcodeConfiguration")
3078
+ @interface FBXcodeConfiguration : NSObject
3079
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull developerDirectory;)
3080
+ + (NSString * _Nonnull)developerDirectory SWIFT_WARN_UNUSED_RESULT;
3081
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull contentsDirectory;)
3082
+ + (NSString * _Nonnull)contentsDirectory SWIFT_WARN_UNUSED_RESULT;
3083
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) NSDecimalNumber * _Nonnull xcodeVersionNumber;)
3084
+ + (NSDecimalNumber * _Nonnull)xcodeVersionNumber SWIFT_WARN_UNUSED_RESULT;
3085
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly) NSOperatingSystemVersion xcodeVersion;)
3086
+ + (NSOperatingSystemVersion)xcodeVersion SWIFT_WARN_UNUSED_RESULT;
3087
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) NSDecimalNumber * _Nonnull iosSDKVersionNumber;)
3088
+ + (NSDecimalNumber * _Nonnull)iosSDKVersionNumber SWIFT_WARN_UNUSED_RESULT;
3089
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) NSNumberFormatter * _Nonnull iosSDKVersionNumberFormatter;)
3090
+ + (NSNumberFormatter * _Nonnull)iosSDKVersionNumberFormatter SWIFT_WARN_UNUSED_RESULT;
3091
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull iosSDKVersion;)
3092
+ + (NSString * _Nonnull)iosSDKVersion SWIFT_WARN_UNUSED_RESULT;
3093
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly) BOOL isXcode12OrGreater;)
3094
+ + (BOOL)isXcode12OrGreater SWIFT_WARN_UNUSED_RESULT;
3095
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly) BOOL isXcode12_5OrGreater;)
3096
+ + (BOOL)isXcode12_5OrGreater SWIFT_WARN_UNUSED_RESULT;
3097
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) FBBundleDescriptor * _Nonnull simulatorApp;)
3098
+ + (FBBundleDescriptor * _Nonnull)simulatorApp SWIFT_WARN_UNUSED_RESULT;
3099
+ + (NSString * _Nonnull)description SWIFT_WARN_UNUSED_RESULT;
3100
+ @property (nonatomic, readonly, copy) NSString * _Nonnull description;
3101
+ - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
3102
+ @end
3103
+
3104
+ /// A protocol that defines an informational target.
3105
+ SWIFT_PROTOCOL("_TtP13FBControlCore15FBiOSTargetInfo_")
3106
+ @protocol FBiOSTargetInfo <NSObject>
3107
+ /// A Unique Identifier that describes this iOS Target.
3108
+ @property (nonatomic, readonly, copy) NSString * _Nonnull uniqueIdentifier;
3109
+ /// The “Unique Device Identifier” of the iOS Target.
3110
+ /// This may be distinct from the uniqueIdentifier.
3111
+ @property (nonatomic, readonly, copy) NSString * _Nonnull udid;
3112
+ /// The Name of the iOS Target. This is the name given by the user, such as “Ada’s iPhone”
3113
+ @property (nonatomic, readonly, copy) NSString * _Nonnull name;
3114
+ /// The Device Type of the Target.
3115
+ @property (nonatomic, readonly, strong) FBDeviceType * _Nonnull deviceType;
3116
+ /// Available architecture of the iOS Target
3117
+ @property (nonatomic, readonly, copy) NSArray<FBArchitecture> * _Nonnull architectures;
3118
+ /// The OS Version of the Target.
3119
+ @property (nonatomic, readonly, strong) FBOSVersion * _Nonnull osVersion;
3120
+ /// A dictionary containing per-target-type information that is unique to them.
3121
+ /// For example iOS Devices have additional metadata that is not present on Simulators.
3122
+ /// This dictionary must be JSON-Serializable.
3123
+ @property (nonatomic, readonly, copy) NSDictionary<NSString *, id> * _Nonnull extendedInformation;
3124
+ /// The Type of the iOS Target
3125
+ @property (nonatomic, readonly) FBiOSTargetType targetType;
3126
+ /// The State of the iOS Target. Currently only applies to Simulators.
3127
+ @property (nonatomic, readonly) FBiOSTargetState state;
3128
+ @end
3129
+
3130
+ @class FBiOSTargetScreenInfo;
3131
+ /// A protocol that defines an interactible and informational target.
3132
+ SWIFT_PROTOCOL("_TtP13FBControlCore11FBiOSTarget_")
3133
+ @protocol FBiOSTarget <FBiOSTargetCommand, FBiOSTargetInfo>
3134
+ /// The Target’s Logger.
3135
+ @property (nonatomic, readonly, strong) id <FBControlCoreLogger> _Nullable logger;
3136
+ /// The path to the custom (non-default) device set if applicable.
3137
+ @property (nonatomic, readonly, copy) NSString * _Nullable customDeviceSetPath;
3138
+ /// The directory that the target uses to store scratch files on the host.
3139
+ @property (nonatomic, readonly, strong) FBTemporaryDirectory * _Nonnull temporaryDirectory;
3140
+ /// The directory that the target uses to store per-target files on the host.
3141
+ /// This should only be used for storing files that need to be preserved over the lifespan of the target.
3142
+ /// For example scratch or temporary files should <em>not</em> be stored here and temporaryDirectory should be used instead.
3143
+ @property (nonatomic, readonly, copy) NSString * _Nonnull auxillaryDirectory;
3144
+ /// The root of the “Runtime” where applicable
3145
+ @property (nonatomic, readonly, copy) NSString * _Nonnull runtimeRootDirectory;
3146
+ /// The root of the “Platform” where applicable
3147
+ @property (nonatomic, readonly, copy) NSString * _Nonnull platformRootDirectory;
3148
+ /// The Screen Info for the Target.
3149
+ @property (nonatomic, readonly, strong) FBiOSTargetScreenInfo * _Nullable screenInfo;
3150
+ /// The Queue to serialize work on.
3151
+ /// This is a serial queue that should act as a lock for other tasks that will mutate the state of the target.
3152
+ /// Mutually Exclusive operations should use this queue.
3153
+ @property (nonatomic, readonly, strong) dispatch_queue_t _Nonnull workQueue;
3154
+ /// A queue for independent operations to execute on.
3155
+ /// Examples of these operations are transforming an immutable data structure.
3156
+ @property (nonatomic, readonly, strong) dispatch_queue_t _Nonnull asyncQueue;
3157
+ /// A Comparison Method for <code>sortedArrayUsingSelector:</code>
3158
+ - (NSComparisonResult)compare:(id <FBiOSTarget> _Nonnull)target SWIFT_WARN_UNUSED_RESULT;
3159
+ /// If the target’s bundle needs to be codesigned or not.
3160
+ - (BOOL)requiresBundlesToBeSigned SWIFT_WARN_UNUSED_RESULT;
3161
+ /// Env var replacements
3162
+ - (NSDictionary<NSString *, NSString *> * _Nonnull)replacementMapping SWIFT_WARN_UNUSED_RESULT;
3163
+ /// Env var additions
3164
+ - (NSDictionary<NSString *, NSString *> * _Nonnull)environmentAdditions SWIFT_WARN_UNUSED_RESULT;
3165
+ @end
3166
+
3167
+ SWIFT_CLASS_NAMED("FBiOSTargetConfiguration")
3168
+ @interface FBiOSTargetConfiguration : NSObject
3169
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSDictionary<FBDeviceModel, FBDeviceType *> * _Nonnull nameToDevice;)
3170
+ + (NSDictionary<FBDeviceModel, FBDeviceType *> * _Nonnull)nameToDevice SWIFT_WARN_UNUSED_RESULT;
3171
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSDictionary<NSString *, FBDeviceType *> * _Nonnull productTypeToDevice;)
3172
+ + (NSDictionary<NSString *, FBDeviceType *> * _Nonnull)productTypeToDevice SWIFT_WARN_UNUSED_RESULT;
3173
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSDictionary<FBOSVersionName, FBOSVersion *> * _Nonnull nameToOSVersion;)
3174
+ + (NSDictionary<FBOSVersionName, FBOSVersion *> * _Nonnull)nameToOSVersion SWIFT_WARN_UNUSED_RESULT;
3175
+ + (NSSet<FBArchitecture> * _Nonnull)baseArchsToCompatibleArch:(NSArray<FBArchitecture> * _Nonnull)architectures SWIFT_WARN_UNUSED_RESULT;
3176
+ - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
3177
+ @end
3178
+
3179
+ SWIFT_CLASS_NAMED("FBiOSTargetScreenInfo")
3180
+ @interface FBiOSTargetScreenInfo : NSObject <NSCopying>
3181
+ @property (nonatomic, readonly) NSUInteger widthPixels;
3182
+ @property (nonatomic, readonly) NSUInteger heightPixels;
3183
+ @property (nonatomic, readonly) float scale;
3184
+ - (nonnull instancetype)initWithWidthPixels:(NSUInteger)widthPixels heightPixels:(NSUInteger)heightPixels scale:(float)scale OBJC_DESIGNATED_INITIALIZER;
3185
+ - (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT;
3186
+ @property (nonatomic, readonly) NSUInteger hash;
3187
+ @property (nonatomic, readonly, copy) NSString * _Nonnull description;
3188
+ - (id _Nonnull)copyWithZone:(struct _NSZone * _Nullable)zone SWIFT_WARN_UNUSED_RESULT;
3189
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
3190
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
3191
+ @end
3192
+
3193
+ @protocol FBiOSTargetSetDelegate;
3194
+ /// Common properties of iOS Target Sets, shared by Simulator & Device Sets.
3195
+ SWIFT_PROTOCOL("_TtP13FBControlCore14FBiOSTargetSet_")
3196
+ @protocol FBiOSTargetSet <NSObject>
3197
+ /// The Delegate of the Target Set.
3198
+ /// Used to report updates out.
3199
+ @property (nonatomic, weak) id <FBiOSTargetSetDelegate> _Nullable delegate;
3200
+ /// Obtains all current targets infos within a set.
3201
+ @property (nonatomic, readonly, copy) NSArray<id <FBiOSTargetInfo>> * _Nonnull allTargetInfos;
3202
+ /// Fetches a Target by a UDID.
3203
+ - (id <FBiOSTargetInfo> _Nullable)targetWithUDID:(NSString * _Nonnull)udid SWIFT_WARN_UNUSED_RESULT;
3204
+ @end
3205
+
3206
+ /// Delegate that informs of updates regarding the set of iOS Targets.
3207
+ SWIFT_PROTOCOL("_TtP13FBControlCore22FBiOSTargetSetDelegate_")
3208
+ @protocol FBiOSTargetSetDelegate
3209
+ /// Called every time an iOS Target is added to the set.
3210
+ - (void)targetAdded:(id <FBiOSTargetInfo> _Nonnull)targetInfo inTargetSet:(id <FBiOSTargetSet> _Nonnull)targetSet;
3211
+ /// Called every time an iOS Target is removed from the set.
3212
+ - (void)targetRemoved:(id <FBiOSTargetInfo> _Nonnull)targetInfo inTargetSet:(id <FBiOSTargetSet> _Nonnull)targetSet;
3213
+ /// Called every time the target info is changed.
3214
+ - (void)targetUpdated:(id <FBiOSTargetInfo> _Nonnull)targetInfo inTargetSet:(id <FBiOSTargetSet> _Nonnull)targetSet;
3215
+ @end
3216
+
3217
+ @interface NSPredicate (SWIFT_EXTENSION(FBControlCore))
3218
+ + (NSPredicate * _Nonnull)notNullPredicate SWIFT_WARN_UNUSED_RESULT;
3219
+ @end
3220
+
3221
+ #endif // defined(__OBJC__)
3222
+ #if __has_attribute(external_source_symbol)
3223
+ # pragma clang attribute pop
3224
+ #endif
3225
+ #if defined(__cplusplus)
3226
+ #endif
3227
+ #pragma clang diagnostic pop
3228
+ #endif
3229
+
3230
+ #else
3231
+ #error unsupported Swift architecture
3232
+ #endif