Initial code to generate service code.

This commit is contained in:
John Beisley
2022-06-06 18:00:39 +01:00
parent 0e8fff04df
commit e3e16da35f
6 changed files with 344 additions and 78 deletions

View File

@ -0,0 +1,31 @@
{{define "service"}}
{{- $Imps := .Imps}}
package TODO
import (
{{- range .Imps.ImportLines}}
{{quote .Alias}} {{.Path}}
{{- end}}
)
{{range .SCPD.SortedActions}}
{{- template "action" args "Action" . "Imps" $Imps}}
{{end}}
{{end}}
{{define "action"}}
type {{.Action.Name}}Request struct {
{{- template "args" args "Args" .Action.InArgs "Imps" .Imps -}}
}
type {{.Action.Name}}Response struct {
{{- template "args" args "Args" .Action.OutArgs "Imps" .Imps -}}
}
{{- end}}
{{define "args"}}
{{- $Imps := .Imps}}
{{- range .Args}}
{{.Name}} {{index $Imps.TypeRefByTypeName .RelatedStateVariable.DataType}}
{{end}}
{{- end}}