Skip to content

Commit cb33d2a

Browse files
committed
Adjust actor conformance to avoid warnings
1 parent a095415 commit cb33d2a

File tree

2 files changed

+17
-8
lines changed

2 files changed

+17
-8
lines changed

Tool/Sources/XPCShared/XPCCommunicationBridge.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,13 @@ public enum XPCCommunicationBridgeError: Swift.Error, LocalizedError {
1515
}
1616
}
1717

18-
@XPCServiceActor
1918
public class XPCCommunicationBridge {
2019
let service: XPCService
2120
let logger: Logger
21+
@XPCServiceActor
2222
var serviceEndpoint: NSXPCListenerEndpoint?
2323

24-
public nonisolated
25-
init(logger: Logger) {
24+
public init(logger: Logger) {
2625
service = .init(
2726
kind: .machService(
2827
identifier: Bundle(for: XPCService.self)
@@ -66,6 +65,7 @@ public class XPCCommunicationBridge {
6665
}
6766

6867
extension XPCCommunicationBridge {
68+
@XPCServiceActor
6969
func withXPCServiceConnected<T>(
7070
_ fn: @escaping (CommunicationBridgeXPCServiceProtocol, AutoFinishContinuation<T>) -> Void
7171
) async throws -> T {

Tool/Sources/XPCShared/XPCExtensionService.swift

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,10 @@ public enum XPCExtensionServiceError: Swift.Error, LocalizedError {
1818
}
1919
}
2020

21-
@XPCServiceActor
2221
public class XPCExtensionService {
22+
@XPCServiceActor
2323
var service: XPCService?
24+
@XPCServiceActor
2425
var connection: NSXPCConnection? { service?.connection }
2526
let logger: Logger
2627
let bridge: XPCCommunicationBridge
@@ -33,6 +34,7 @@ public class XPCExtensionService {
3334

3435
/// Launches the extension service if it's not running, returns true if the service has finished
3536
/// launching and the communication becomes available.
37+
@XPCServiceActor
3638
public func launchIfNeeded() async throws -> Bool {
3739
try await bridge.launchExtensionServiceIfNeeded() != nil
3840
}
@@ -203,24 +205,30 @@ public class XPCExtensionService {
203205

204206
extension XPCExtensionService: XPCServiceDelegate {
205207
public func connectionDidInterrupt() async {
206-
service = nil
208+
Task { @XPCServiceActor in
209+
service = nil
210+
}
207211
}
208212

209213
public func connectionDidInvalidate() async {
210-
service = nil
214+
Task { @XPCServiceActor in
215+
service = nil
216+
}
211217
}
212218
}
213219

214220
extension XPCExtensionService {
221+
@XPCServiceActor
215222
private func updateEndpoint(_ endpoint: NSXPCListenerEndpoint) {
216223
service = XPCService(
217224
kind: .anonymous(endpoint: endpoint),
218225
interface: NSXPCInterface(with: XPCServiceProtocol.self),
219-
logger: logger
226+
logger: logger,
227+
delegate: self
220228
)
221-
service?.delegate = self
222229
}
223230

231+
@XPCServiceActor
224232
private func withXPCServiceConnected<T>(
225233
_ fn: @escaping (XPCServiceProtocol, AutoFinishContinuation<T>) -> Void
226234
) async throws -> T {
@@ -247,6 +255,7 @@ extension XPCExtensionService {
247255
}
248256
}
249257

258+
@XPCServiceActor
250259
private func suggestionRequest(
251260
_ editorContent: EditorContent,
252261
_ fn: @escaping (any XPCServiceProtocol) -> (Data, @escaping (Data?, Error?) -> Void)

0 commit comments

Comments
 (0)