Files
amneziawg-apple/Sources/WireGuardApp/UI/macOS/LaunchedAtLoginDetector.swift
Jason A. Donenfeld 7b279383d1 App: bump copyright
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-02-15 14:20:35 +01:00

20 lines
810 B
Swift

// SPDX-License-Identifier: MIT
// Copyright © 2018-2023 WireGuard LLC. All Rights Reserved.
import Cocoa
class LaunchedAtLoginDetector {
static func isLaunchedAtLogin(openAppleEvent: NSAppleEventDescriptor) -> Bool {
let now = clock_gettime_nsec_np(CLOCK_UPTIME_RAW)
guard openAppleEvent.eventClass == kCoreEventClass && openAppleEvent.eventID == kAEOpenApplication else { return false }
guard let url = FileManager.loginHelperTimestampURL else { return false }
guard let data = try? Data(contentsOf: url) else { return false }
_ = FileManager.deleteFile(at: url)
guard data.count == 8 else { return false }
let then = data.withUnsafeBytes { ptr in
ptr.load(as: UInt64.self)
}
return now - then <= 20000000000
}
}