28 lines
732 B
Swift
28 lines
732 B
Swift
// This struct is simpliest variant of Martin's Client State.
|
|
// Just for more comfortable using in App State
|
|
import Foundation
|
|
import Martin
|
|
|
|
enum ConnectionStatus: Stateable {
|
|
case connecting
|
|
case connected(resumed: Bool = false)
|
|
case disconnecting
|
|
case disconnected(reason: String)
|
|
|
|
static func from(_ state: XMPPClient.State) -> ConnectionStatus {
|
|
switch state {
|
|
case .connecting:
|
|
return .connecting
|
|
|
|
case .connected(let resumed):
|
|
return .connected(resumed: resumed)
|
|
|
|
case .disconnecting:
|
|
return .disconnecting
|
|
|
|
case .disconnected(let reason):
|
|
return .disconnected(reason: reason.localizedDescription)
|
|
}
|
|
}
|
|
}
|