aboutsummaryrefslogtreecommitdiff
path: root/Hotline/Models
diff options
context:
space:
mode:
authorRuben Beltran del Rio <git@r.bdr.sh>2025-02-02 23:19:57 +0100
committerRuben Beltran del Rio <git@r.bdr.sh>2025-02-02 23:19:57 +0100
commitc676230cbc7da1c2c4d5540f89da32e9228deffd (patch)
treeb47f940282ee552b2608d847a9ce5e06b5749f29 /Hotline/Models
parent77b3ac3c051fc4e8fa126cd21e261be28f4aad1a (diff)
Add autoconnect + reconnect logic
Diffstat (limited to 'Hotline/Models')
-rw-r--r--Hotline/Models/Bookmark.swift9
-rw-r--r--Hotline/Models/Server.swift4
2 files changed, 10 insertions, 3 deletions
diff --git a/Hotline/Models/Bookmark.swift b/Hotline/Models/Bookmark.swift
index 733a6eb..b410f75 100644
--- a/Hotline/Models/Bookmark.swift
+++ b/Hotline/Models/Bookmark.swift
@@ -22,6 +22,9 @@ final class Bookmark {
@Attribute(.allowsCloudEncryption)
var password: String?
+ @Attribute
+ var autoconnect: Bool = false
+
@Attribute(.ephemeral)
var expanded: Bool = false
@@ -69,7 +72,7 @@ final class Bookmark {
return nil
case .server, .temporary:
- return Server(name: self.name, description: self.serverDescription, address: self.address, port: self.port, login: self.login, password: self.password)
+ return Server(name: self.name, description: self.serverDescription, address: self.address, port: self.port, login: self.login, password: self.password, autoconnect: self.autoconnect)
}
}
@@ -79,7 +82,7 @@ final class Bookmark {
Bookmark(type: .tracker, name: "Featured Servers", address: "hltracker.com", port: HotlinePorts.DefaultTrackerPort)
]
- init(type: BookmarkType, name: String, address: String, port: Int, login: String? = nil, password: String? = nil) {
+ init(type: BookmarkType, name: String, address: String, port: Int, login: String? = nil, password: String? = nil, autoconnect: Bool = false) {
self.type = type
self.name = name
self.address = address
@@ -87,6 +90,8 @@ final class Bookmark {
self.login = login
self.password = password
+
+ self.autoconnect = autoconnect
}
init(temporaryServer server: Server) {
diff --git a/Hotline/Models/Server.swift b/Hotline/Models/Server.swift
index e0fe38b..3f4c9e8 100644
--- a/Hotline/Models/Server.swift
+++ b/Hotline/Models/Server.swift
@@ -9,8 +9,9 @@ struct Server: Codable {
var port: Int
var login: String
var password: String
+ var autoconnect: Bool = false
- init(name: String?, description: String?, address: String, port: Int = HotlinePorts.DefaultServerPort, users: Int = 0, login: String? = nil, password: String? = nil) {
+ init(name: String?, description: String?, address: String, port: Int = HotlinePorts.DefaultServerPort, users: Int = 0, login: String? = nil, password: String? = nil, autoconnect: Bool? = false) {
self.name = name
self.description = description
self.address = address.lowercased()
@@ -18,6 +19,7 @@ struct Server: Codable {
self.users = users
self.login = login ?? ""
self.password = password ?? ""
+ self.autoconnect = autoconnect ?? false
}
init?(url: URL) {