xref: /aosp_15_r20/external/flatbuffers/tests/MyGame/Example/StructOfStructsOfStructs.py (revision 890232f25432b36107d06881e0a25aaa6b473652)
1*890232f2SAndroid Build Coastguard Worker# automatically generated by the FlatBuffers compiler, do not modify
2*890232f2SAndroid Build Coastguard Worker
3*890232f2SAndroid Build Coastguard Worker# namespace: Example
4*890232f2SAndroid Build Coastguard Worker
5*890232f2SAndroid Build Coastguard Workerimport flatbuffers
6*890232f2SAndroid Build Coastguard Workerfrom flatbuffers.compat import import_numpy
7*890232f2SAndroid Build Coastguard Workernp = import_numpy()
8*890232f2SAndroid Build Coastguard Worker
9*890232f2SAndroid Build Coastguard Workerclass StructOfStructsOfStructs(object):
10*890232f2SAndroid Build Coastguard Worker    __slots__ = ['_tab']
11*890232f2SAndroid Build Coastguard Worker
12*890232f2SAndroid Build Coastguard Worker    @classmethod
13*890232f2SAndroid Build Coastguard Worker    def SizeOf(cls):
14*890232f2SAndroid Build Coastguard Worker        return 20
15*890232f2SAndroid Build Coastguard Worker
16*890232f2SAndroid Build Coastguard Worker    # StructOfStructsOfStructs
17*890232f2SAndroid Build Coastguard Worker    def Init(self, buf, pos):
18*890232f2SAndroid Build Coastguard Worker        self._tab = flatbuffers.table.Table(buf, pos)
19*890232f2SAndroid Build Coastguard Worker
20*890232f2SAndroid Build Coastguard Worker    # StructOfStructsOfStructs
21*890232f2SAndroid Build Coastguard Worker    def A(self, obj):
22*890232f2SAndroid Build Coastguard Worker        obj.Init(self._tab.Bytes, self._tab.Pos + 0)
23*890232f2SAndroid Build Coastguard Worker        return obj
24*890232f2SAndroid Build Coastguard Worker
25*890232f2SAndroid Build Coastguard Worker
26*890232f2SAndroid Build Coastguard Workerdef CreateStructOfStructsOfStructs(builder, a_a_id, a_a_distance, a_b_a, a_b_b, a_c_id, a_c_distance):
27*890232f2SAndroid Build Coastguard Worker    builder.Prep(4, 20)
28*890232f2SAndroid Build Coastguard Worker    builder.Prep(4, 20)
29*890232f2SAndroid Build Coastguard Worker    builder.Prep(4, 8)
30*890232f2SAndroid Build Coastguard Worker    builder.PrependUint32(a_c_distance)
31*890232f2SAndroid Build Coastguard Worker    builder.PrependUint32(a_c_id)
32*890232f2SAndroid Build Coastguard Worker    builder.Prep(2, 4)
33*890232f2SAndroid Build Coastguard Worker    builder.Pad(1)
34*890232f2SAndroid Build Coastguard Worker    builder.PrependInt8(a_b_b)
35*890232f2SAndroid Build Coastguard Worker    builder.PrependInt16(a_b_a)
36*890232f2SAndroid Build Coastguard Worker    builder.Prep(4, 8)
37*890232f2SAndroid Build Coastguard Worker    builder.PrependUint32(a_a_distance)
38*890232f2SAndroid Build Coastguard Worker    builder.PrependUint32(a_a_id)
39*890232f2SAndroid Build Coastguard Worker    return builder.Offset()
40*890232f2SAndroid Build Coastguard Worker
41*890232f2SAndroid Build Coastguard Workerimport MyGame.Example.StructOfStructs
42*890232f2SAndroid Build Coastguard Workertry:
43*890232f2SAndroid Build Coastguard Worker    from typing import Optional
44*890232f2SAndroid Build Coastguard Workerexcept:
45*890232f2SAndroid Build Coastguard Worker    pass
46*890232f2SAndroid Build Coastguard Worker
47*890232f2SAndroid Build Coastguard Workerclass StructOfStructsOfStructsT(object):
48*890232f2SAndroid Build Coastguard Worker
49*890232f2SAndroid Build Coastguard Worker    # StructOfStructsOfStructsT
50*890232f2SAndroid Build Coastguard Worker    def __init__(self):
51*890232f2SAndroid Build Coastguard Worker        self.a = None  # type: Optional[MyGame.Example.StructOfStructs.StructOfStructsT]
52*890232f2SAndroid Build Coastguard Worker
53*890232f2SAndroid Build Coastguard Worker    @classmethod
54*890232f2SAndroid Build Coastguard Worker    def InitFromBuf(cls, buf, pos):
55*890232f2SAndroid Build Coastguard Worker        structOfStructsOfStructs = StructOfStructsOfStructs()
56*890232f2SAndroid Build Coastguard Worker        structOfStructsOfStructs.Init(buf, pos)
57*890232f2SAndroid Build Coastguard Worker        return cls.InitFromObj(structOfStructsOfStructs)
58*890232f2SAndroid Build Coastguard Worker
59*890232f2SAndroid Build Coastguard Worker    @classmethod
60*890232f2SAndroid Build Coastguard Worker    def InitFromObj(cls, structOfStructsOfStructs):
61*890232f2SAndroid Build Coastguard Worker        x = StructOfStructsOfStructsT()
62*890232f2SAndroid Build Coastguard Worker        x._UnPack(structOfStructsOfStructs)
63*890232f2SAndroid Build Coastguard Worker        return x
64*890232f2SAndroid Build Coastguard Worker
65*890232f2SAndroid Build Coastguard Worker    # StructOfStructsOfStructsT
66*890232f2SAndroid Build Coastguard Worker    def _UnPack(self, structOfStructsOfStructs):
67*890232f2SAndroid Build Coastguard Worker        if structOfStructsOfStructs is None:
68*890232f2SAndroid Build Coastguard Worker            return
69*890232f2SAndroid Build Coastguard Worker        if structOfStructsOfStructs.A(MyGame.Example.StructOfStructs.StructOfStructs()) is not None:
70*890232f2SAndroid Build Coastguard Worker            self.a = MyGame.Example.StructOfStructs.StructOfStructsT.InitFromObj(structOfStructsOfStructs.A(MyGame.Example.StructOfStructs.StructOfStructs()))
71*890232f2SAndroid Build Coastguard Worker
72*890232f2SAndroid Build Coastguard Worker    # StructOfStructsOfStructsT
73*890232f2SAndroid Build Coastguard Worker    def Pack(self, builder):
74*890232f2SAndroid Build Coastguard Worker        return CreateStructOfStructsOfStructs(builder, self.a.a.id, self.a.a.distance, self.a.b.a, self.a.b.b, self.a.c.id, self.a.c.distance)
75