mirror of
https://github.com/yattee/yattee.git
synced 2024-11-09 15:58:20 +00:00
39 lines
1.3 KiB
Swift
39 lines
1.3 KiB
Swift
import Foundation
|
|
|
|
struct Power {
|
|
static var hasInternalBattery: Bool {
|
|
let psInfo = IOPSCopyPowerSourcesInfo().takeRetainedValue()
|
|
let psList = IOPSCopyPowerSourcesList(psInfo).takeRetainedValue() as [CFTypeRef]
|
|
|
|
for ps in psList {
|
|
if let psDesc = IOPSGetPowerSourceDescription(psInfo, ps).takeUnretainedValue() as? [String: Any] {
|
|
if let type = psDesc[kIOPSTypeKey] as? String,
|
|
type == kIOPSInternalBatteryType
|
|
{
|
|
return true
|
|
}
|
|
}
|
|
}
|
|
|
|
return false
|
|
}
|
|
|
|
static var isConnectedToPower: Bool {
|
|
let psInfo = IOPSCopyPowerSourcesInfo().takeRetainedValue()
|
|
let psList = IOPSCopyPowerSourcesList(psInfo).takeRetainedValue() as [CFTypeRef]
|
|
|
|
for ps in psList {
|
|
if let psDesc = IOPSGetPowerSourceDescription(psInfo, ps).takeUnretainedValue() as? [String: Any] {
|
|
if let type = psDesc[kIOPSTypeKey] as? String,
|
|
type == kIOPSInternalBatteryType,
|
|
let powerSourceState = (psDesc[kIOPSPowerSourceStateKey] as? String)
|
|
{
|
|
return powerSourceState == kIOPSACPowerValue
|
|
}
|
|
}
|
|
}
|
|
|
|
return false
|
|
}
|
|
}
|