mirror of
https://github.com/maxgoedjen/secretive.git
synced 2025-09-15 08:50:57 +00:00
24 lines
643 B
Swift
24 lines
643 B
Swift
import Foundation
|
|
import SecretAgentKit
|
|
import Brief
|
|
import XPCWrappers
|
|
|
|
/// Delegates all agent input parsing to an XPC service which wraps OpenSSH
|
|
public final class XPCAgentInputParser: SSHAgentInputParserProtocol {
|
|
|
|
private let session: XPCTypedSession<SSHAgent.Request, SSHAgentInputParser.AgentParsingError>
|
|
|
|
public init() async throws {
|
|
session = try await XPCTypedSession(serviceName: "com.maxgoedjen.Secretive.SecretAgentInputParser", warmup: true)
|
|
}
|
|
|
|
public func parse(data: Data) async throws -> SSHAgent.Request {
|
|
try await session.send(data)
|
|
}
|
|
|
|
deinit {
|
|
session.complete()
|
|
}
|
|
|
|
}
|