From 7859311000176944d028d9d35d45ff6ef1a0372d Mon Sep 17 00:00:00 2001 From: Filippos Sakellaropoulos Date: Sat, 12 Oct 2024 00:35:06 +0300 Subject: [PATCH 1/2] Refactor MdocGattServer and MdocOfflineDelegate classes --- .../MdocDataTransfer18013/BLETransfer/MdocGATTServer.swift | 7 ++----- .../BLETransfer/MdocOfflineDelegate.swift | 1 - 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/Sources/MdocDataTransfer18013/BLETransfer/MdocGATTServer.swift b/Sources/MdocDataTransfer18013/BLETransfer/MdocGATTServer.swift index 07ac67f..7665f32 100644 --- a/Sources/MdocDataTransfer18013/BLETransfer/MdocGATTServer.swift +++ b/Sources/MdocDataTransfer18013/BLETransfer/MdocGATTServer.swift @@ -26,8 +26,7 @@ import MdocDataModel18013 import MdocSecurity18013 /// BLE Gatt server implementation of mdoc transfer manager -@MainActor -public class MdocGattServer: ObservableObject { +public class MdocGattServer: @unchecked Sendable, ObservableObject { var peripheralManager: CBPeripheralManager! var bleDelegate: Delegate! var remoteCentral: CBCentral! @@ -65,8 +64,7 @@ public class MdocGattServer: ObservableObject { handleStatusChange(status) } - @MainActor - @objc(CBPeripheralManagerDelegate) + @objc(CBPeripheralManagerDelegate) class Delegate: NSObject, @preconcurrency CBPeripheralManagerDelegate { unowned var server: MdocGattServer @@ -251,7 +249,6 @@ public class MdocGattServer: ObservableObject { prepareDataToSend(bytesToSend) DispatchQueue.main.asyncAfter(deadline: .now()+0.2) { self.sendDataWithUpdates() - self.error = errorToSend } } if !b { errorToSend = MdocHelpers.makeError(code: .userRejected) } diff --git a/Sources/MdocDataTransfer18013/BLETransfer/MdocOfflineDelegate.swift b/Sources/MdocDataTransfer18013/BLETransfer/MdocOfflineDelegate.swift index 34e47bd..703bc5c 100644 --- a/Sources/MdocDataTransfer18013/BLETransfer/MdocOfflineDelegate.swift +++ b/Sources/MdocDataTransfer18013/BLETransfer/MdocOfflineDelegate.swift @@ -6,7 +6,6 @@ import MdocDataModel18013 import MdocSecurity18013 /// delegate protocol for clients of the mdoc offline transfer manager -@MainActor public protocol MdocOfflineDelegate: AnyObject { func didChangeStatus(_ newStatus: TransferStatus) func didFinishedWithError(_ error: Error) From 048f2dd8d8e0aae5a77be54ad7ffa44057b89d8b Mon Sep 17 00:00:00 2001 From: Filippos Sakellaropoulos Date: Sat, 12 Oct 2024 01:17:58 +0300 Subject: [PATCH 2/2] Update dependencies in Package.swift and Package.resolved --- Package.resolved | 10 +++++----- Package.swift | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Package.resolved b/Package.resolved index 69ade18..22976ca 100644 --- a/Package.resolved +++ b/Package.resolved @@ -1,13 +1,13 @@ { - "originHash" : "c2280e9a08e51034151015bda509fa109a1bef75c66d1cabed12b4b4025a1474", + "originHash" : "fc60708f41996a66ff09913bb5bc0934ff3d47779d3ec833bf24adbed0bb2ad4", "pins" : [ { "identity" : "eudi-lib-ios-iso18013-data-model", "kind" : "remoteSourceControl", "location" : "https://github.com/eu-digital-identity-wallet/eudi-lib-ios-iso18013-data-model.git", "state" : { - "revision" : "39ba199744ad478544fbad3a73c4a47677f34ec7", - "version" : "0.3.2" + "revision" : "c1b4383d6fc3387a8ed4c79177548624c4e34e3a", + "version" : "0.3.3" } }, { @@ -15,8 +15,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/eu-digital-identity-wallet/eudi-lib-ios-iso18013-security.git", "state" : { - "revision" : "89cccb0dec4e675d3d83e9e78076822d98d024bb", - "version" : "0.2.5" + "revision" : "13d65a1010ee9e6219f8bccbab6eb32f67405d86", + "version" : "0.2.6" } }, { diff --git a/Package.swift b/Package.swift index b5030ea..6dac242 100644 --- a/Package.swift +++ b/Package.swift @@ -13,8 +13,8 @@ let package = Package( targets: ["MdocDataTransfer18013"]), ], dependencies: [ - .package(url: "https://github.com/eu-digital-identity-wallet/eudi-lib-ios-iso18013-data-model.git", exact: "0.3.2"), - .package(url: "https://github.com/eu-digital-identity-wallet/eudi-lib-ios-iso18013-security.git", exact: "0.2.5"), + .package(url: "https://github.com/eu-digital-identity-wallet/eudi-lib-ios-iso18013-data-model.git", exact: "0.3.3"), + .package(url: "https://github.com/eu-digital-identity-wallet/eudi-lib-ios-iso18013-security.git", exact: "0.2.6"), ], targets: [ // Targets are the basic building blocks of a package, defining a module or a test suite.