Files
MWClash/core/dart-bridge/message.go

39 lines
659 B
Go
Raw Normal View History

2024-04-30 23:38:49 +08:00
package dart_bridge
import "encoding/json"
var Port *int64
type MessageType string
const (
Log MessageType = "log"
Tun MessageType = "tun"
Delay MessageType = "delay"
2024-05-05 21:40:12 +08:00
Now MessageType = "now"
2024-04-30 23:38:49 +08:00
Process MessageType = "process"
Request MessageType = "request"
2024-06-16 19:04:33 +08:00
Run MessageType = "run"
2024-04-30 23:38:49 +08:00
)
type Message struct {
Type MessageType `json:"type"`
Data interface{} `json:"data"`
}
2024-06-16 19:04:33 +08:00
func (message *Message) Json() (string, error) {
data, err := json.Marshal(message)
return string(data), err
2024-04-30 23:38:49 +08:00
}
func SendMessage(message Message) {
2024-06-16 19:04:33 +08:00
if Port == nil {
return
}
s, err := message.Json()
if err != nil {
return
}
SendToPort(*Port, s)
2024-04-30 23:38:49 +08:00
}