mirror of
https://github.com/wailsapp/wails.git
synced 2025-05-01 22:42:37 +08:00
39 lines
757 B
Go
39 lines
757 B
Go
package wails
|
|
|
|
import (
|
|
"fmt"
|
|
)
|
|
|
|
type callData struct {
|
|
BindingName string `json:"bindingName"`
|
|
Data string `json:"data,omitempty"`
|
|
}
|
|
|
|
func init() {
|
|
messageProcessors["call"] = processCallData
|
|
}
|
|
|
|
func processCallData(message *ipcMessage) (*ipcMessage, error) {
|
|
|
|
var payload callData
|
|
|
|
// Decode binding call data
|
|
payloadMap := message.Payload.(map[string]interface{})
|
|
|
|
// Check for binding name
|
|
if payloadMap["bindingName"] == nil {
|
|
return nil, fmt.Errorf("bindingName not given in call")
|
|
}
|
|
payload.BindingName = payloadMap["bindingName"].(string)
|
|
|
|
// Check for data
|
|
if payloadMap["data"] != nil {
|
|
payload.Data = payloadMap["data"].(string)
|
|
}
|
|
|
|
// Reassign payload to decoded data
|
|
message.Payload = &payload
|
|
|
|
return message, nil
|
|
}
|