2
0
Эх сурвалжийг харах

iOS: fully remove USB support from TCI build

osy 4 жил өмнө
parent
commit
0b7a5e5a4c

+ 2 - 0
CocoaSpice/CSConnection.h

@@ -27,7 +27,9 @@ NS_ASSUME_NONNULL_BEGIN
 @property (nonatomic, readonly) NSArray<CSDisplayMetal *> *monitors;
 @property (nonatomic, readonly) CSSession *session;
 @property (nonatomic, readonly) CSInput *input;
+#if !defined(WITH_QEMU_TCI)
 @property (nonatomic, readonly) CSUSBManager *usbManager;
+#endif
 @property (nonatomic, weak, nullable) id<CSConnectionDelegate> delegate;
 @property (nonatomic, copy) NSString *host;
 @property (nonatomic, copy) NSString *port;

+ 2 - 0
CocoaSpice/CSConnection.m

@@ -276,7 +276,9 @@ static void cs_connection_destroy(SpiceSession *session,
         
         SpiceUsbDeviceManager *manager = spice_usb_device_manager_get(self.spiceSession, NULL);
         g_assert(manager != NULL);
+#if !defined(WITH_QEMU_TCI)
         self.usbManager = [[CSUSBManager alloc] initWithUsbDeviceManager:manager];
+#endif
         self.input = [[CSInput alloc] initWithSession:self.spiceSession];
         self.session = [[CSSession alloc] initWithSession:self.spiceSession];
         self.monitors = [NSArray<CSDisplayMetal *> array];

+ 2 - 0
Managers/UTMSpiceIO.h

@@ -31,7 +31,9 @@ NS_ASSUME_NONNULL_BEGIN
 @property (nonatomic, readonly, nonnull) UTMConfiguration* configuration;
 @property (nonatomic, readonly, nullable) CSDisplayMetal *primaryDisplay;
 @property (nonatomic, readonly, nullable) CSInput *primaryInput;
+#if !defined(WITH_QEMU_TCI)
 @property (nonatomic, readonly, nullable) CSUSBManager *primaryUsbManager;
+#endif
 @property (nonatomic, weak, nullable) id<UTMSpiceIODelegate> delegate;
 
 - (instancetype)init NS_UNAVAILABLE;

+ 8 - 0
Managers/UTMSpiceIO.m

@@ -34,7 +34,9 @@ typedef void (^connectionCallback_t)(BOOL success, NSString * _Nullable msg);
 
 @property (nonatomic, readwrite, nullable) CSDisplayMetal *primaryDisplay;
 @property (nonatomic, readwrite, nullable) CSInput *primaryInput;
+#if !defined(WITH_QEMU_TCI)
 @property (nonatomic, readwrite, nullable) CSUSBManager *primaryUsbManager;
+#endif
 @property (nonatomic, nullable) doConnect_t doConnect;
 @property (nonatomic, nullable) connectionCallback_t connectionCallback;
 @property (nonatomic, nullable) CSConnection *spiceConnection;
@@ -135,7 +137,9 @@ typedef void (^connectionCallback_t)(BOOL success, NSString * _Nullable msg);
     }
     self.primaryDisplay = nil;
     self.primaryInput = nil;
+#if !defined(WITH_QEMU_TCI)
     self.primaryUsbManager = nil;
+#endif
     self.doConnect = nil;
 }
 
@@ -173,8 +177,10 @@ typedef void (^connectionCallback_t)(BOOL success, NSString * _Nullable msg);
     NSAssert(connection == self.spiceConnection, @"Unknown connection");
     self.primaryInput = connection.input;
     [self.delegate spiceDidChangeInput:connection.input];
+#if !defined(WITH_QEMU_TCI)
     self.primaryUsbManager = connection.usbManager;
     [self.delegate spiceDidChangeUsbManager:connection.usbManager];
+#endif
 }
 
 - (void)spiceDisconnected:(CSConnection *)connection {
@@ -256,9 +262,11 @@ typedef void (^connectionCallback_t)(BOOL success, NSString * _Nullable msg);
             [self.delegate spiceDidCreateDisplay:display];
         }
     }
+#if !defined(WITH_QEMU_TCI)
     if (self.primaryUsbManager) {
         [self.delegate spiceDidChangeUsbManager:self.primaryUsbManager];
     }
+#endif
     if ([self.delegate respondsToSelector:@selector(spiceDynamicResolutionSupportDidChange:)]) {
         [self.delegate spiceDynamicResolutionSupportDidChange:self.dynamicResolutionSupported];
     }

+ 2 - 0
Managers/UTMSpiceIODelegate.h

@@ -27,7 +27,9 @@ NS_ASSUME_NONNULL_BEGIN
 - (void)spiceDidChangeInput:(CSInput *)input;
 - (void)spiceDidCreateDisplay:(CSDisplayMetal *)display;
 - (void)spiceDidDestroyDisplay:(CSDisplayMetal *)display;
+#if !defined(WITH_QEMU_TCI)
 - (void)spiceDidChangeUsbManager:(CSUSBManager *)usbManager;
+#endif
 
 @optional
 - (void)spiceDynamicResolutionSupportDidChange:(BOOL)supported;

+ 4 - 0
Platform/iOS/Display/VMDisplayMetalViewController.m

@@ -110,9 +110,11 @@
             if (self.vmConfiguration.shareClipboardEnabled) {
                 [[UTMPasteboard generalPasteboard] releasePollingModeForObject:self];
             }
+#if !defined(WITH_QEMU_TCI)
             if (state == kVMStopped) {
                 [self.usbDevicesViewController clearDevices];
             }
+#endif
             break;
         }
         case kVMStarted: {
@@ -215,10 +217,12 @@
     // TODO: implement something here
 }
 
+#if !defined(WITH_QEMU_TCI)
 - (void)spiceDidChangeUsbManager:(CSUSBManager *)usbManager {
     [self.usbDevicesViewController clearDevices];
     self.usbDevicesViewController.vmUsbManager = usbManager;
     usbManager.delegate = self;
 }
+#endif
 
 @end

+ 4 - 0
Platform/iOS/Display/VMDisplayViewController.m

@@ -45,7 +45,9 @@
     
     // set up other nibs
     self.removableDrivesViewController = [[VMRemovableDrivesViewController alloc] initWithNibName:@"VMRemovableDrivesView" bundle:nil];
+#if !defined(WITH_QEMU_TCI)
     self.usbDevicesViewController = [[VMUSBDevicesViewController alloc] initWithNibName:@"VMUSBDevicesView" bundle:nil];
+#endif
     
     // hide USB icon if not supported
     self.usbButton.hidden = !self.vm.hasUsbRedirection;
@@ -328,8 +330,10 @@
 }
 
 - (IBAction)usbPressed:(UIButton *)sender {
+#if !defined(WITH_QEMU_TCI)
     self.usbDevicesViewController.modalPresentationStyle = UIModalPresentationPageSheet;
     [self presentViewController:self.usbDevicesViewController animated:YES completion:nil];
+#endif
 }
 
 - (IBAction)drivesPressed:(UIButton *)sender {

+ 0 - 10
UTM.xcodeproj/project.pbxproj

@@ -685,7 +685,6 @@
 		CEA45E30263519B5002FA97D /* WKWebView+Workarounds.m in Sources */ = {isa = PBXBuildFile; fileRef = E2B0F9D12426E5510065DFBE /* WKWebView+Workarounds.m */; };
 		CEA45E31263519B5002FA97D /* qapi-visit-crypto.c in Sources */ = {isa = PBXBuildFile; fileRef = CE23C0C223FCEC02001177D6 /* qapi-visit-crypto.c */; };
 		CEA45E32263519B5002FA97D /* qapi-visit-tpm.c in Sources */ = {isa = PBXBuildFile; fileRef = CE23C07F23FCEBFF001177D6 /* qapi-visit-tpm.c */; };
-		CEA45E33263519B5002FA97D /* CSUSBManager.m in Sources */ = {isa = PBXBuildFile; fileRef = CE900B9D25FC2869007533FD /* CSUSBManager.m */; };
 		CEA45E34263519B5002FA97D /* UTMConfiguration+Defaults.m in Sources */ = {isa = PBXBuildFile; fileRef = 2CE8EB40257811E8000E2EBB /* UTMConfiguration+Defaults.m */; };
 		CEA45E35263519B5002FA97D /* qapi-visit-trace.c in Sources */ = {isa = PBXBuildFile; fileRef = CE23C0E523FCEC04001177D6 /* qapi-visit-trace.c */; };
 		CEA45E36263519B5002FA97D /* qapi-events-rocker.c in Sources */ = {isa = PBXBuildFile; fileRef = CE23C15923FCEC0A001177D6 /* qapi-events-rocker.c */; };
@@ -693,7 +692,6 @@
 		CEA45E38263519B5002FA97D /* VMConfigSoundViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CE74C284225D88ED004E4FF1 /* VMConfigSoundViewController.m */; };
 		CEA45E39263519B5002FA97D /* qapi-visit-qom.c in Sources */ = {isa = PBXBuildFile; fileRef = CE23C0E423FCEC04001177D6 /* qapi-visit-qom.c */; };
 		CEA45E3A263519B5002FA97D /* UTMConfiguration+System.m in Sources */ = {isa = PBXBuildFile; fileRef = CE5425332437C22A00E520F7 /* UTMConfiguration+System.m */; };
-		CEA45E3B263519B5002FA97D /* VMUSBDevicesViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEA905D72603DC5300801E7C /* VMUSBDevicesViewController.swift */; };
 		CEA45E3C263519B5002FA97D /* qapi-types-job.c in Sources */ = {isa = PBXBuildFile; fileRef = CE23C13123FCEC08001177D6 /* qapi-types-job.c */; };
 		CEA45E3D263519B5002FA97D /* VMConfigNetworkingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CE74C276225D88EC004E4FF1 /* VMConfigNetworkingViewController.m */; };
 		CEA45E3E263519B5002FA97D /* UTMPortAllocator.m in Sources */ = {isa = PBXBuildFile; fileRef = CEF83ED224FDEA9400557D15 /* UTMPortAllocator.m */; };
@@ -856,7 +854,6 @@
 		CEA45EDB263519B5002FA97D /* VMDisplayTerminalViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E28394C0240C268A006742E2 /* VMDisplayTerminalViewController.m */; };
 		CEA45EDC263519B5002FA97D /* UTMScreenshot.m in Sources */ = {isa = PBXBuildFile; fileRef = CE0B6D8424AD5ADE00FE012D /* UTMScreenshot.m */; };
 		CEA45EDD263519B5002FA97D /* qapi-events-block-core.c in Sources */ = {isa = PBXBuildFile; fileRef = CE23C0EF23FCEC04001177D6 /* qapi-events-block-core.c */; };
-		CEA45EDE263519B5002FA97D /* CSUSBDevice.m in Sources */ = {isa = PBXBuildFile; fileRef = CE900BAE25FC3E65007533FD /* CSUSBDevice.m */; };
 		CEA45EDF263519B5002FA97D /* UTMJailbreak.m in Sources */ = {isa = PBXBuildFile; fileRef = CEB63A7924F469E300CAF323 /* UTMJailbreak.m */; };
 		CEA45EE0263519B5002FA97D /* UTMQemuManager.m in Sources */ = {isa = PBXBuildFile; fileRef = CE36B280227668D1004A1435 /* UTMQemuManager.m */; };
 		CEA45EE1263519B5002FA97D /* VMConfigPickerView.m in Sources */ = {isa = PBXBuildFile; fileRef = CEBCAF5624353B9F00C2B423 /* VMConfigPickerView.m */; };
@@ -918,7 +915,6 @@
 		CEA45F19263519B5002FA97D /* VMScroll.m in Sources */ = {isa = PBXBuildFile; fileRef = CE20FAE72448D2BE0059AE11 /* VMScroll.m */; };
 		CEA45F1A263519B5002FA97D /* VMConfigNetworkPortForwardView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE2D954D24AD4F980059923A /* VMConfigNetworkPortForwardView.swift */; };
 		CEA45F1B263519B5002FA97D /* UTMTerminal.m in Sources */ = {isa = PBXBuildFile; fileRef = E28394B3240C20E0006742E2 /* UTMTerminal.m */; };
-		CEA45F1C263519B5002FA97D /* VMDisplayMetalViewController+USB.m in Sources */ = {isa = PBXBuildFile; fileRef = CEA905C82603DA0D00801E7C /* VMDisplayMetalViewController+USB.m */; };
 		CEA45F1D263519B5002FA97D /* VMConfigSwitch.m in Sources */ = {isa = PBXBuildFile; fileRef = CEBCAF5324353B3700C2B423 /* VMConfigSwitch.m */; };
 		CEA45F1E263519B5002FA97D /* qapi-types-char.c in Sources */ = {isa = PBXBuildFile; fileRef = CE23C12023FCEC07001177D6 /* qapi-types-char.c */; };
 		CEA45F1F263519B5002FA97D /* CSConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = CE4AA14B2264004F002E4A54 /* CSConnection.m */; };
@@ -988,7 +984,6 @@
 		CEA45F65263519B5002FA97D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = CE550BD2225947990063E575 /* Main.storyboard */; };
 		CEA45F66263519B5002FA97D /* terminal.js in Resources */ = {isa = PBXBuildFile; fileRef = E28394B9240C219F006742E2 /* terminal.js */; };
 		CEA45F67263519B5002FA97D /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 521F3EFB2414F73800130500 /* Localizable.strings */; };
-		CEA45F68263519B5002FA97D /* VMUSBDevicesView.xib in Resources */ = {isa = PBXBuildFile; fileRef = CEA905CC2603DBFB00801E7C /* VMUSBDevicesView.xib */; };
 		CEA45F69263519B5002FA97D /* qemu in Resources */ = {isa = PBXBuildFile; fileRef = CE9D18F72265410E00355E14 /* qemu */; };
 		CEA45F6A263519B5002FA97D /* VMDisplayView.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE72B4A92463532B00716A11 /* VMDisplayView.xib */; };
 		CEA45F6B263519B5002FA97D /* VMRemovableDrivesView.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE4EF2712506DD7900E9D33B /* VMRemovableDrivesView.xib */; };
@@ -3272,7 +3267,6 @@
 				CEA45F65263519B5002FA97D /* Main.storyboard in Resources */,
 				CEA45F66263519B5002FA97D /* terminal.js in Resources */,
 				CEA45F67263519B5002FA97D /* Localizable.strings in Resources */,
-				CEA45F68263519B5002FA97D /* VMUSBDevicesView.xib in Resources */,
 				CEA45F69263519B5002FA97D /* qemu in Resources */,
 				CEA45F6A263519B5002FA97D /* VMDisplayView.xib in Resources */,
 				CEA45F6B263519B5002FA97D /* VMRemovableDrivesView.xib in Resources */,
@@ -3865,7 +3859,6 @@
 				CEA45E30263519B5002FA97D /* WKWebView+Workarounds.m in Sources */,
 				CEA45E31263519B5002FA97D /* qapi-visit-crypto.c in Sources */,
 				CEA45E32263519B5002FA97D /* qapi-visit-tpm.c in Sources */,
-				CEA45E33263519B5002FA97D /* CSUSBManager.m in Sources */,
 				CEA45E34263519B5002FA97D /* UTMConfiguration+Defaults.m in Sources */,
 				CEA45E35263519B5002FA97D /* qapi-visit-trace.c in Sources */,
 				CEA45E36263519B5002FA97D /* qapi-events-rocker.c in Sources */,
@@ -3873,7 +3866,6 @@
 				CEA45E38263519B5002FA97D /* VMConfigSoundViewController.m in Sources */,
 				CEA45E39263519B5002FA97D /* qapi-visit-qom.c in Sources */,
 				CEA45E3A263519B5002FA97D /* UTMConfiguration+System.m in Sources */,
-				CEA45E3B263519B5002FA97D /* VMUSBDevicesViewController.swift in Sources */,
 				CEA45E3C263519B5002FA97D /* qapi-types-job.c in Sources */,
 				CEA45E3D263519B5002FA97D /* VMConfigNetworkingViewController.m in Sources */,
 				CEA45E3E263519B5002FA97D /* UTMPortAllocator.m in Sources */,
@@ -4036,7 +4028,6 @@
 				CEA45EDB263519B5002FA97D /* VMDisplayTerminalViewController.m in Sources */,
 				CEA45EDC263519B5002FA97D /* UTMScreenshot.m in Sources */,
 				CEA45EDD263519B5002FA97D /* qapi-events-block-core.c in Sources */,
-				CEA45EDE263519B5002FA97D /* CSUSBDevice.m in Sources */,
 				CEA45EDF263519B5002FA97D /* UTMJailbreak.m in Sources */,
 				CEA45EE0263519B5002FA97D /* UTMQemuManager.m in Sources */,
 				CEA45EE1263519B5002FA97D /* VMConfigPickerView.m in Sources */,
@@ -4098,7 +4089,6 @@
 				CEA45F19263519B5002FA97D /* VMScroll.m in Sources */,
 				CEA45F1A263519B5002FA97D /* VMConfigNetworkPortForwardView.swift in Sources */,
 				CEA45F1B263519B5002FA97D /* UTMTerminal.m in Sources */,
-				CEA45F1C263519B5002FA97D /* VMDisplayMetalViewController+USB.m in Sources */,
 				CEA45F1D263519B5002FA97D /* VMConfigSwitch.m in Sources */,
 				CEA45F1E263519B5002FA97D /* qapi-types-char.c in Sources */,
 				CEA45F1F263519B5002FA97D /* CSConnection.m in Sources */,