2026-07-25 12:39:32 +02:00
|
|
|
internal import CPlaydate
|
|
|
|
|
|
|
|
|
|
extension File {
|
2026-09-18 13:15:08 +00:00
|
|
|
/// How to open a file. Wraps `FileOptions`.
|
2026-07-25 12:39:32 +02:00
|
|
|
public struct Options: OptionSet, Sendable {
|
|
|
|
|
public let rawValue: UInt32
|
|
|
|
|
public init(rawValue: UInt32) { self.rawValue = rawValue }
|
|
|
|
|
|
2026-09-18 13:15:08 +00:00
|
|
|
/// Read from the pdx only; add `.readData` to search the Data directory first.
|
2026-07-25 12:39:32 +02:00
|
|
|
public static let read = Options(rawValue: UInt32(kFileRead.rawValue))
|
2026-09-18 13:15:08 +00:00
|
|
|
/// Read from the Data directory.
|
2026-07-25 12:39:32 +02:00
|
|
|
public static let readData = Options(rawValue: UInt32(kFileReadData.rawValue))
|
2026-09-18 13:15:08 +00:00
|
|
|
/// Write to the Data directory, truncating.
|
2026-07-25 12:39:32 +02:00
|
|
|
public static let write = Options(rawValue: UInt32(kFileWrite.rawValue))
|
2026-09-18 13:15:08 +00:00
|
|
|
/// Write to the Data directory, appending.
|
2026-07-25 12:39:32 +02:00
|
|
|
public static let append = Options(rawValue: UInt32(kFileAppend.rawValue))
|
|
|
|
|
|
|
|
|
|
var cValue: FileOptions { FileOptions(FileOptions.RawValue(rawValue)) }
|
|
|
|
|
}
|
|
|
|
|
}
|