From 848958058100fa7d52d2dd8d0add127534fdb635 Mon Sep 17 00:00:00 2001 From: Barpfotenbaer Date: Fri, 18 Sep 2020 10:11:59 +0200 Subject: [PATCH] GosmContainer-Buffer-Json-Transformation --- .../nhooyrioWebsocketAddons.go | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/nhooyrioWebsocketAddons/nhooyrioWebsocketAddons.go b/nhooyrioWebsocketAddons/nhooyrioWebsocketAddons.go index dfc775c..c194be0 100755 --- a/nhooyrioWebsocketAddons/nhooyrioWebsocketAddons.go +++ b/nhooyrioWebsocketAddons/nhooyrioWebsocketAddons.go @@ -2,11 +2,32 @@ package nhooyrioWebsocketAddons import ( "context" + "encoding/json" "nhooyr.io/websocket" "nhooyr.io/websocket/wsjson" ) +type GosmContainerType struct { + TagID string `json:"tagid"` + Attribute string `json:"attribute"` // might left empty + Content string `json:"content"` +} + +type GosmContainer []GosmContainerType + +func (r *GosmContainer) Gosm2Buffer() (buffer GosmBuffer, err error) { + buffer, err = json.Marshal(*r) + return +} + +type GosmBuffer []byte + +func (r *GosmBuffer) Buffer2Gosm() (gosm GosmContainer, err error) { + err = json.Unmarshal(*r, &gosm) + return +} + func WsjsonSend(ctx context.Context, conn *websocket.Conn, sendval interface{}) (err error, receiveval interface{}) { err = nil