secretive/SecretKit/Common/Types/SigningRequestProvenance.swift

46 lines
920 B
Swift
Raw Normal View History

2020-03-17 07:56:55 +00:00
import Foundation
import AppKit
2020-03-24 06:22:22 +00:00
public struct SigningRequestProvenance: Equatable {
2020-03-17 07:56:55 +00:00
public var chain: [Process]
public init(root: Process) {
self.chain = [root]
}
}
extension SigningRequestProvenance {
public var origin: Process {
chain.last!
}
2020-03-18 06:28:51 +00:00
public var intact: Bool {
chain.allSatisfy { $0.validSignature }
2020-03-18 06:28:51 +00:00
}
2020-03-17 07:56:55 +00:00
}
extension SigningRequestProvenance {
2020-03-24 06:22:22 +00:00
public struct Process: Equatable {
2020-03-17 07:56:55 +00:00
public let pid: Int32
public let name: String
public let path: String
2020-03-18 05:59:03 +00:00
public let validSignature: Bool
public let parentPID: Int32?
2020-03-17 07:56:55 +00:00
public init(pid: Int32, name: String, path: String, validSignature: Bool, parentPID: Int32?) {
2020-03-17 07:56:55 +00:00
self.pid = pid
self.name = name
self.path = path
2020-03-18 06:28:51 +00:00
self.validSignature = validSignature
2020-03-17 07:56:55 +00:00
self.parentPID = parentPID
}
}
}