aboutsummaryrefslogtreecommitdiff
path: root/atom/atom_binary.go
blob: ccefcbc967965f6460c749e43257212286478d61 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
////////////////////////////////////////////////////////////////////////////////
// Do not modify!
// Generated by codergen -go
////////////////////////////////////////////////////////////////////////////////

package atom

import (
	"android.googlesource.com/platform/tools/gpu/binary"
)

func init() {
	//struct atom.EOS { Context:ContextID }
	binary.Register(binary.ID{0xb5, 0x85, 0xac, 0x22, 0x71, 0xd1, 0x84, 0x5c, 0xc0, 0x70, 0x37, 0x53, 0x35, 0x88, 0x2e, 0x3e, 0x5a, 0x27, 0xa3, 0xcd}, &EOS{})
	//struct atom.Group { Name:string, Range:Range, SubGroups:GroupList }
	binary.Register(binary.ID{0x1d, 0x80, 0xcc, 0xfa, 0xe5, 0xba, 0x0e, 0x88, 0x3f, 0x11, 0x3b, 0xd5, 0x07, 0x16, 0x56, 0x13, 0xf5, 0x43, 0x42, 0xeb}, &Group{})
	//struct atom.Range { Start:ID, End:ID }
	binary.Register(binary.ID{0x6f, 0xbb, 0x0f, 0x69, 0x4c, 0x19, 0xdb, 0x86, 0x34, 0x4f, 0x63, 0xc3, 0x04, 0xaf, 0x06, 0x89, 0xda, 0x0f, 0xb3, 0x0a}, &Range{})
}

func (o EOS) Encode(e *binary.Encoder) error {
	if err := e.Uint32(uint32(o.Context)); err != nil {
		return err
	}
	return nil
}

func (o *EOS) Decode(d *binary.Decoder) error {
	if obj, err := d.Uint32(); err != nil {
		return err
	} else {
		o.Context = ContextID(obj)
	}
	return nil
}

func (o Group) Encode(e *binary.Encoder) error {
	if err := e.String(o.Name); err != nil {
		return err
	}
	if err := o.Range.Encode(e); err != nil {
		return err
	}
	if err := e.Int32(int32(len(o.SubGroups))); err != nil {
		return err
	}
	for i := range o.SubGroups {
		if err := o.SubGroups[i].Encode(e); err != nil {
			return err
		}
	}
	return nil
}

func (o *Group) Decode(d *binary.Decoder) error {
	if obj, err := d.String(); err != nil {
		return err
	} else {
		o.Name = string(obj)
	}
	if err := o.Range.Decode(d); err != nil {
		return err
	}
	if count, err := d.Int32(); err != nil {
		return err
	} else {
		o.SubGroups = make(GroupList, count)
		for i := range o.SubGroups {
			if err := o.SubGroups[i].Decode(d); err != nil {
				return err
			}
		}
	}
	return nil
}

func (o Range) Encode(e *binary.Encoder) error {
	if err := e.Uint64(uint64(o.Start)); err != nil {
		return err
	}
	if err := e.Uint64(uint64(o.End)); err != nil {
		return err
	}
	return nil
}

func (o *Range) Decode(d *binary.Decoder) error {
	if obj, err := d.Uint64(); err != nil {
		return err
	} else {
		o.Start = ID(obj)
	}
	if obj, err := d.Uint64(); err != nil {
		return err
	} else {
		o.End = ID(obj)
	}
	return nil
}