swiftlib_sdlan/Sources/Punchnet/NoticeMessage.swift
2025-07-16 17:23:56 +08:00

59 lines
1.1 KiB
Swift

//
// NoticeMessage.swift
// sdlan
//
// Created by on 2025/7/14.
//
//
// NoticeMessage.swift
// sdlan
//
// Created by on 2024/6/3.
//
import Foundation
struct NoticeMessage {
//
enum NoticeType: UInt8 {
case upgrade = 1
case alert = 2
}
struct UpgradeMessage: Codable {
let prompt: String
let address: String
var binaryData: Data {
let json = try! JSONEncoder().encode(self)
var data = Data()
data.append(contentsOf: [NoticeType.upgrade.rawValue])
data.append(json)
return data
}
}
struct AlertMessage: Codable {
let alert: String
var binaryData: Data {
let json = try! JSONEncoder().encode(self)
var data = Data()
data.append(contentsOf: [NoticeType.alert.rawValue])
data.append(json)
return data
}
}
enum InboundMessage {
case none
case upgradeMessage(UpgradeMessage)
case alertMessage(AlertMessage)
}
}