24 lines
701 B
Plaintext
24 lines
701 B
Plaintext
{{ template "_typeid" .Node }}
|
|
|
|
func New{{.Node.Name}}(s *{{.G.Capnp}}.Segment) ({{.Node.Name}}, error) {
|
|
st, err := {{$.G.Capnp}}.NewStruct(s, {{.G.ObjectSize .Node}})
|
|
return {{.Node.Name}}{st}, err
|
|
}
|
|
|
|
func NewRoot{{.Node.Name}}(s *{{.G.Capnp}}.Segment) ({{.Node.Name}}, error) {
|
|
st, err := {{.G.Capnp}}.NewRootStruct(s, {{.G.ObjectSize .Node}})
|
|
return {{.Node.Name}}{st}, err
|
|
}
|
|
|
|
func ReadRoot{{.Node.Name}}(msg *{{.G.Capnp}}.Message) ({{.Node.Name}}, error) {
|
|
root, err := msg.RootPtr()
|
|
return {{.Node.Name}}{root.Struct()}, err
|
|
}
|
|
{{if .StringMethod}}
|
|
func (s {{.Node.Name}}) String() string {
|
|
str, _ := {{.G.Imports.Text}}.Marshal({{.Node.Id|printf "%#x"}}, s.Struct)
|
|
return str
|
|
}
|
|
{{end}}
|
|
|