aboutsummaryrefslogtreecommitdiff
path: root/Hotline/Models/Tracker.swift
diff options
context:
space:
mode:
authorDustin Mierau <dustin@mierau.me>2023-12-08 10:04:55 -0800
committerDustin Mierau <dustin@mierau.me>2023-12-08 10:04:55 -0800
commit537ed932a4c8d639089f276e322de4e946b0d26b (patch)
tree1d3604a5f777be87f2d3d405ddfe5725c687b99f /Hotline/Models/Tracker.swift
parent767eb58da13d83aa321fff12c97fe433cd8fa734 (diff)
Starting to move to async/await model so the client code is no longer burdoned by observation and isn't bound to this app.
Diffstat (limited to 'Hotline/Models/Tracker.swift')
-rw-r--r--Hotline/Models/Tracker.swift20
1 files changed, 20 insertions, 0 deletions
diff --git a/Hotline/Models/Tracker.swift b/Hotline/Models/Tracker.swift
new file mode 100644
index 0000000..c9dfb5c
--- /dev/null
+++ b/Hotline/Models/Tracker.swift
@@ -0,0 +1,20 @@
+import SwiftUI
+
+@Observable final class Tracker {
+ let service: HotlineTrackerClient
+ let address: String
+ let port: Int
+ var servers: [Server] = []
+
+ init(address: String, port: Int = 5498, service: HotlineTrackerClient) {
+ self.address = address
+ self.port = port
+ self.service = service
+ }
+
+ func fetchServers() {
+ self.service.fetch2(address: self.address, port: self.port) { servers in
+ self.servers = servers
+ }
+ }
+}