aboutsummaryrefslogtreecommitdiff
path: root/Hotline/Models/TransferInfo.swift
diff options
context:
space:
mode:
Diffstat (limited to 'Hotline/Models/TransferInfo.swift')
-rw-r--r--Hotline/Models/TransferInfo.swift26
1 files changed, 17 insertions, 9 deletions
diff --git a/Hotline/Models/TransferInfo.swift b/Hotline/Models/TransferInfo.swift
index ba25793..cb2b0fd 100644
--- a/Hotline/Models/TransferInfo.swift
+++ b/Hotline/Models/TransferInfo.swift
@@ -2,28 +2,36 @@ import SwiftUI
@Observable
class TransferInfo: Identifiable, Equatable, Hashable {
- var id: UInt32
-
+ var id: UUID = UUID()
+
+ var referenceNumber: UInt32
var title: String
var size: UInt
var progress: Double = 0.0
- var timeRemaining: TimeInterval = 0.0
+ var speed: Double? = nil
+ var timeRemaining: TimeInterval? = nil
var completed: Bool = false
var failed: Bool = false
var isFolder: Bool = false
+ // Server association - tracks which HotlineState this transfer belongs to
+ var serverID: UUID
+ var serverName: String?
+
// For file based transfers (i.e. not previews)
var fileURL: URL? = nil
-
- var progressCallback: ((TransferInfo, Double) -> Void)? = nil
- var downloadCallback: ((TransferInfo, URL) -> Void)? = nil
+
+ var progressCallback: ((TransferInfo) -> Void)? = nil
+ var downloadCallback: ((TransferInfo) -> Void)? = nil
var uploadCallback: ((TransferInfo) -> Void)? = nil
var previewCallback: ((TransferInfo, Data) -> Void)? = nil
-
- init(id: UInt32, title: String, size: UInt) {
- self.id = id
+
+ init(reference: UInt32, title: String, size: UInt, serverID: UUID, serverName: String? = nil) {
+ self.referenceNumber = reference
self.title = title
self.size = size
+ self.serverID = serverID
+ self.serverName = serverName
}
static func == (lhs: TransferInfo, rhs: TransferInfo) -> Bool {