Skip to content

Commit b878b13

Browse files
committed
Handle requests from XPCService
1 parent 2e7caa6 commit b878b13

File tree

4 files changed

+36
-24
lines changed

4 files changed

+36
-24
lines changed

Core/Sources/Service/Service.swift

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import Toast
55
import Workspace
66
import WorkspaceSuggestionService
77
import XcodeInspector
8+
import XPCShared
89

910
#if canImport(ProService)
1011
import ProService
@@ -32,7 +33,7 @@ public final class Service {
3233
#endif
3334

3435
@Dependency(\.toast) var toast
35-
36+
3637
private init() {
3738
@Dependency(\.workspacePool) var workspacePool
3839

@@ -71,3 +72,25 @@ public final class Service {
7172
}
7273
}
7374

75+
public extension Service {
76+
func handleXPCServiceRequests(
77+
endpoint: String,
78+
requestBody: Data,
79+
reply: @escaping (Data?, Error?) -> Void
80+
) {
81+
do {
82+
#if canImport(ProService)
83+
try Service.shared.proService.handleXPCServiceRequests(
84+
endpoint: endpoint,
85+
requestBody: requestBody,
86+
reply: reply
87+
)
88+
#endif
89+
} catch is XPCRequestHandlerHitError {
90+
return
91+
} catch {
92+
reply(nil, error)
93+
}
94+
}
95+
}
96+

Core/Sources/Service/XPCService.swift

Lines changed: 6 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -192,33 +192,17 @@ public class XPCService: NSObject, XPCServiceProtocol {
192192
}
193193

194194
// MARK: - Requests
195-
195+
196196
public func send(
197197
endpoint: String,
198198
requestBody: Data,
199199
reply: @escaping (Data?, Error?) -> Void
200200
) {
201-
do {
202-
try ExtensionServiceRequests.OpenExtensionManager.handle(
203-
endpoint: endpoint,
204-
requestBody: requestBody,
205-
reply: reply
206-
) { _ in
207-
.none
208-
}
209-
210-
try ExtensionServiceRequests.GetExtensionSuggestionServices.handle(
211-
endpoint: endpoint,
212-
requestBody: requestBody,
213-
reply: reply
214-
) { _ in
215-
[]
216-
}
217-
} catch is XPCRequestHandlerHitError {
218-
return
219-
} catch {
220-
reply(nil, error)
221-
}
201+
Service.shared.handleXPCServiceRequests(
202+
endpoint: endpoint,
203+
requestBody: requestBody,
204+
reply: reply
205+
)
222206
}
223207
}
224208

Pro

Submodule Pro updated from fd9fe0c to f9b7499

Tool/Sources/XPCShared/XPCServiceProtocol.swift

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,11 @@ public enum ExtensionServiceRequests {
7979
public struct ServiceInfo: Codable {
8080
public var bundleIdentifier: String
8181
public var name: String
82+
83+
public init(bundleIdentifier: String, name: String) {
84+
self.bundleIdentifier = bundleIdentifier
85+
self.name = name
86+
}
8287
}
8388

8489
public typealias ResponseBody = [ServiceInfo]

0 commit comments

Comments
 (0)