Compare commits
No commits in common. "09e2afe329d46f809d36983c80fc34a70ab99118" and "f8577dc3dcd472fbf0dab318b1837a90c36102bb" have entirely different histories.
09e2afe329
...
f8577dc3dc
12
main.go
12
main.go
@ -24,17 +24,9 @@ func main() {
|
||||
var cfg proto.Proto
|
||||
json.Unmarshal(file, &cfg)
|
||||
|
||||
proto.InitTemplates()
|
||||
|
||||
header, err := proto.CreateCStyleHeader(&cfg)
|
||||
a, err := proto.CreateCStyle(&cfg)
|
||||
if err != nil {
|
||||
log.Printf("ERROR: %v", err)
|
||||
}
|
||||
log.Printf("TEMPLATE HEADER: \n%v", header)
|
||||
|
||||
source, err := proto.CreateCStyleSource(&cfg)
|
||||
if err != nil {
|
||||
log.Printf("ERROR: %v", err)
|
||||
}
|
||||
log.Printf("TEMPLATE SOURCE: \n%v", source)
|
||||
log.Printf("TEMPLATE: \n%v", a)
|
||||
}
|
||||
|
||||
@ -69,22 +69,16 @@ type CStyleData struct {
|
||||
MessagesESPtoPC []ProtoMessage
|
||||
}
|
||||
|
||||
var tmpl *template.Template
|
||||
|
||||
func InitTemplates() {
|
||||
func CreateCStyle(proto *Proto) (string, error) {
|
||||
funcs := template.FuncMap{
|
||||
"snake": toSnakeCase,
|
||||
"isLast": isLast,
|
||||
}
|
||||
|
||||
Ntmpl, err := template.New("all").Funcs(funcs).ParseGlob("templates/*.tmpl")
|
||||
tmpl, err := template.New("all").Funcs(funcs).ParseGlob("templates/*.tmpl")
|
||||
if err != nil {
|
||||
log.Fatalf("failed to parse templates: %v", err)
|
||||
}
|
||||
tmpl = Ntmpl
|
||||
}
|
||||
|
||||
func CreateCStyleHeader(proto *Proto) (string, error) {
|
||||
|
||||
payloads := []PayloadStruct{}
|
||||
|
||||
@ -119,50 +113,7 @@ func CreateCStyleHeader(proto *Proto) (string, error) {
|
||||
}
|
||||
|
||||
var buf bytes.Buffer
|
||||
err := tmpl.ExecuteTemplate(&buf, "cpartHeader", data)
|
||||
if err != nil {
|
||||
log.Printf("Error Rendering template: %v", err)
|
||||
}
|
||||
|
||||
return buf.String(), nil
|
||||
}
|
||||
|
||||
func CreateCStyleSource(proto *Proto) (string, error) {
|
||||
|
||||
payloads := []PayloadStruct{}
|
||||
|
||||
for _, payload := range proto.PC_TO_ESP {
|
||||
tmp := PayloadStruct{
|
||||
Name: payload.Name,
|
||||
Entries: payload.Payload,
|
||||
}
|
||||
payloads = append(payloads, tmp)
|
||||
}
|
||||
|
||||
for _, payload := range proto.ESP_TO_PC {
|
||||
tmp := PayloadStruct{
|
||||
Name: payload.Name,
|
||||
Entries: payload.Payload,
|
||||
}
|
||||
payloads = append(payloads, tmp)
|
||||
}
|
||||
|
||||
var data = CStyleData{
|
||||
CenumPCTOESP: Cenum{
|
||||
EnumName: "PC_TO_ESP_MESSAGE_IDS",
|
||||
Entries: proto.PC_TO_ESP,
|
||||
},
|
||||
CenumESPTOPC: Cenum{
|
||||
EnumName: "ESP_TO_PC_MESSAGE_IDS",
|
||||
Entries: proto.ESP_TO_PC,
|
||||
},
|
||||
PayloadStructs: payloads,
|
||||
MessagesPCtoESP: proto.PC_TO_ESP,
|
||||
MessagesESPtoPC: proto.ESP_TO_PC,
|
||||
}
|
||||
|
||||
var buf bytes.Buffer
|
||||
err := tmpl.ExecuteTemplate(&buf, "cpartSource", data)
|
||||
err = tmpl.ExecuteTemplate(&buf, "cpart", data)
|
||||
if err != nil {
|
||||
log.Printf("Error Rendering template: %v", err)
|
||||
}
|
||||
|
||||
@ -26,9 +26,9 @@ typedef struct {
|
||||
{{define "union"}}
|
||||
typedef union {
|
||||
{{- range .}}
|
||||
{{.Name}}Payload {{ .Name | snake}};
|
||||
{{.Name}} {{ .Name | snake}}
|
||||
{{- end }}
|
||||
} PayloadUnion;
|
||||
}PayloadUnion:
|
||||
{{end}}
|
||||
|
||||
{{define "handler"}}
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
{{- define "cpartHeader" -}}
|
||||
{{- define "cpart" -}}
|
||||
// AUTO GENERATED DO NOT EDIT!!!
|
||||
|
||||
#ifndef _PROTO_HEADER
|
||||
@ -11,5 +11,10 @@
|
||||
|
||||
{{ block "union" .PayloadStructs }} {{ end }}
|
||||
|
||||
{{ block "handler" .MessagesPCtoESP}} {{ end }}
|
||||
|
||||
{{ block "dispatcher" .MessagesPCtoESP}} {{ end }}
|
||||
|
||||
{{ block "send_functions" .MessagesESPtoPC}} {{ end }}
|
||||
#endif
|
||||
{{- end -}}
|
||||
@ -1,9 +0,0 @@
|
||||
{{- define "cpartSource" -}}
|
||||
// AUTO GENERATED DO NOT EDIT!!!
|
||||
|
||||
{{ block "handler" .MessagesPCtoESP}} {{ end }}
|
||||
|
||||
{{ block "dispatcher" .MessagesPCtoESP}} {{ end }}
|
||||
|
||||
{{ block "send_functions" .MessagesESPtoPC}} {{ end }}
|
||||
{{- end -}}
|
||||
Loading…
x
Reference in New Issue
Block a user