diff options
| author | Ruben Beltran del Rio <git@r.bdr.sh> | 2025-02-02 23:19:57 +0100 |
|---|---|---|
| committer | Ruben Beltran del Rio <git@r.bdr.sh> | 2025-02-02 23:19:57 +0100 |
| commit | c676230cbc7da1c2c4d5540f89da32e9228deffd (patch) | |
| tree | b47f940282ee552b2608d847a9ce5e06b5749f29 /Hotline/Models | |
| parent | 77b3ac3c051fc4e8fa126cd21e261be28f4aad1a (diff) | |
Add autoconnect + reconnect logic
Diffstat (limited to 'Hotline/Models')
| -rw-r--r-- | Hotline/Models/Bookmark.swift | 9 | ||||
| -rw-r--r-- | Hotline/Models/Server.swift | 4 |
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) { |