mirror of
https://github.com/meshtastic/Meshtastic-Apple.git
synced 2026-04-20 22:13:56 +00:00
129 lines
2.8 KiB
Swift
129 lines
2.8 KiB
Swift
//
|
|
// RoutingError.swift
|
|
// Meshtastic
|
|
//
|
|
// Copyright(c) Garth Vander Houwen 8/4/22.
|
|
//
|
|
import Foundation
|
|
import SwiftUI
|
|
import MeshtasticProtobufs
|
|
|
|
enum RoutingError: Int, CaseIterable, Identifiable {
|
|
|
|
case none = 0
|
|
case noRoute = 1
|
|
case gotNak = 2
|
|
case timeout = 3
|
|
case noInterface = 4
|
|
case maxRetransmit = 5
|
|
case noChannel = 6
|
|
case tooLarge = 7
|
|
case noResponse = 8
|
|
case dutyCycleLimit = 9
|
|
case badRequest = 32
|
|
case notAuthorized = 33
|
|
case pkiFailed = 34
|
|
case pkiUnknownPubkey = 35
|
|
|
|
var id: Int { self.rawValue }
|
|
var display: String {
|
|
switch self {
|
|
|
|
case .none:
|
|
return "routing.acknowledged".localized
|
|
case .noRoute:
|
|
return "routing.noroute".localized
|
|
case .gotNak:
|
|
return "routing.gotnak".localized
|
|
case .timeout:
|
|
return "routing.timeout".localized
|
|
case .noInterface:
|
|
return "routing.nointerface".localized
|
|
case .maxRetransmit:
|
|
return "routing.maxretransmit".localized
|
|
case .noChannel:
|
|
return "routing.nochannel".localized
|
|
case .tooLarge:
|
|
return "routing.toolarge".localized
|
|
case .noResponse:
|
|
return "routing.noresponse".localized
|
|
case .dutyCycleLimit:
|
|
return "routing.dutycyclelimit".localized
|
|
case .badRequest:
|
|
return "routing.badRequest".localized
|
|
case .notAuthorized:
|
|
return "routing.notauthorized".localized
|
|
case .pkiFailed:
|
|
return "routing.pkifailed".localized
|
|
case .pkiUnknownPubkey:
|
|
return "routing.pkiunknownpubkey".localized
|
|
}
|
|
}
|
|
var color: Color {
|
|
switch self {
|
|
|
|
case .none:
|
|
return Color.secondary
|
|
case .noRoute:
|
|
return Color.red
|
|
case .gotNak:
|
|
return Color.red
|
|
case .timeout:
|
|
return Color.orange
|
|
case .noInterface:
|
|
return Color.red
|
|
case .maxRetransmit:
|
|
return Color.red
|
|
case .noChannel:
|
|
return Color.orange
|
|
case .tooLarge:
|
|
return Color.orange
|
|
case .noResponse:
|
|
return Color.orange
|
|
case .dutyCycleLimit:
|
|
return Color.orange
|
|
case .badRequest:
|
|
return Color.red
|
|
case .notAuthorized:
|
|
return Color.red
|
|
case .pkiFailed:
|
|
return Color.red
|
|
case .pkiUnknownPubkey:
|
|
return Color.red
|
|
}
|
|
}
|
|
func protoEnumValue() -> Routing.Error {
|
|
|
|
switch self {
|
|
|
|
case .none:
|
|
return Routing.Error.none
|
|
case .noRoute:
|
|
return Routing.Error.noRoute
|
|
case .gotNak:
|
|
return Routing.Error.gotNak
|
|
case .timeout:
|
|
return Routing.Error.timeout
|
|
case .noInterface:
|
|
return Routing.Error.noInterface
|
|
case .maxRetransmit:
|
|
return Routing.Error.maxRetransmit
|
|
case .noChannel:
|
|
return Routing.Error.noChannel
|
|
case .tooLarge:
|
|
return Routing.Error.tooLarge
|
|
case .noResponse:
|
|
return Routing.Error.noResponse
|
|
case .dutyCycleLimit:
|
|
return Routing.Error.dutyCycleLimit
|
|
case .badRequest:
|
|
return Routing.Error.badRequest
|
|
case .notAuthorized:
|
|
return Routing.Error.notAuthorized
|
|
case .pkiFailed:
|
|
return Routing.Error.pkiFailed
|
|
case .pkiUnknownPubkey:
|
|
return Routing.Error.pkiUnknownPubkey
|
|
}
|
|
}
|
|
}
|