• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# automatically generated by the FlatBuffers compiler, do not modify
2
3# namespace: NestedUnion
4
5import flatbuffers
6from flatbuffers.compat import import_numpy
7from typing import Any
8from flatbuffers.table import Table
9from typing import Optional
10np = import_numpy()
11
12class NestedUnionTest(object):
13    __slots__ = ['_tab']
14
15    @classmethod
16    def GetRootAs(cls, buf, offset: int = 0):
17        n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset)
18        x = NestedUnionTest()
19        x.Init(buf, n + offset)
20        return x
21
22    @classmethod
23    def GetRootAsNestedUnionTest(cls, buf, offset=0):
24        """This method is deprecated. Please switch to GetRootAs."""
25        return cls.GetRootAs(buf, offset)
26    # NestedUnionTest
27    def Init(self, buf: bytes, pos: int):
28        self._tab = flatbuffers.table.Table(buf, pos)
29
30    # NestedUnionTest
31    def Name(self) -> Optional[str]:
32        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4))
33        if o != 0:
34            return self._tab.String(o + self._tab.Pos)
35        return None
36
37    # NestedUnionTest
38    def DataType(self):
39        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6))
40        if o != 0:
41            return self._tab.Get(flatbuffers.number_types.Uint8Flags, o + self._tab.Pos)
42        return 0
43
44    # NestedUnionTest
45    def Data(self) -> Optional[flatbuffers.table.Table]:
46        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8))
47        if o != 0:
48            obj = Table(bytearray(), 0)
49            self._tab.Union(obj, o)
50            return obj
51        return None
52
53    # NestedUnionTest
54    def Id(self):
55        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(10))
56        if o != 0:
57            return self._tab.Get(flatbuffers.number_types.Int16Flags, o + self._tab.Pos)
58        return 0
59
60def NestedUnionTestStart(builder: flatbuffers.Builder):
61    builder.StartObject(4)
62
63def Start(builder: flatbuffers.Builder):
64    NestedUnionTestStart(builder)
65
66def NestedUnionTestAddName(builder: flatbuffers.Builder, name: int):
67    builder.PrependUOffsetTRelativeSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(name), 0)
68
69def AddName(builder: flatbuffers.Builder, name: int):
70    NestedUnionTestAddName(builder, name)
71
72def NestedUnionTestAddDataType(builder: flatbuffers.Builder, dataType: int):
73    builder.PrependUint8Slot(1, dataType, 0)
74
75def AddDataType(builder: flatbuffers.Builder, dataType: int):
76    NestedUnionTestAddDataType(builder, dataType)
77
78def NestedUnionTestAddData(builder: flatbuffers.Builder, data: int):
79    builder.PrependUOffsetTRelativeSlot(2, flatbuffers.number_types.UOffsetTFlags.py_type(data), 0)
80
81def AddData(builder: flatbuffers.Builder, data: int):
82    NestedUnionTestAddData(builder, data)
83
84def NestedUnionTestAddId(builder: flatbuffers.Builder, id: int):
85    builder.PrependInt16Slot(3, id, 0)
86
87def AddId(builder: flatbuffers.Builder, id: int):
88    NestedUnionTestAddId(builder, id)
89
90def NestedUnionTestEnd(builder: flatbuffers.Builder) -> int:
91    return builder.EndObject()
92
93def End(builder: flatbuffers.Builder) -> int:
94    return NestedUnionTestEnd(builder)
95
96import MyGame.Example.NestedUnion.Any
97import MyGame.Example.NestedUnion.TestSimpleTableWithEnum
98import MyGame.Example.NestedUnion.Vec3
99try:
100    from typing import Union
101except:
102    pass
103
104class NestedUnionTestT(object):
105
106    # NestedUnionTestT
107    def __init__(self):
108        self.name = None  # type: str
109        self.dataType = 0  # type: int
110        self.data = None  # type: Union[None, MyGame.Example.NestedUnion.Vec3.Vec3T, MyGame.Example.NestedUnion.TestSimpleTableWithEnum.TestSimpleTableWithEnumT]
111        self.id = 0  # type: int
112
113    @classmethod
114    def InitFromBuf(cls, buf, pos):
115        nestedUnionTest = NestedUnionTest()
116        nestedUnionTest.Init(buf, pos)
117        return cls.InitFromObj(nestedUnionTest)
118
119    @classmethod
120    def InitFromPackedBuf(cls, buf, pos=0):
121        n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, pos)
122        return cls.InitFromBuf(buf, pos+n)
123
124    @classmethod
125    def InitFromObj(cls, nestedUnionTest):
126        x = NestedUnionTestT()
127        x._UnPack(nestedUnionTest)
128        return x
129
130    # NestedUnionTestT
131    def _UnPack(self, nestedUnionTest):
132        if nestedUnionTest is None:
133            return
134        self.name = nestedUnionTest.Name()
135        self.dataType = nestedUnionTest.DataType()
136        self.data = MyGame.Example.NestedUnion.Any.AnyCreator(self.dataType, nestedUnionTest.Data())
137        self.id = nestedUnionTest.Id()
138
139    # NestedUnionTestT
140    def Pack(self, builder):
141        if self.name is not None:
142            name = builder.CreateString(self.name)
143        if self.data is not None:
144            data = self.data.Pack(builder)
145        NestedUnionTestStart(builder)
146        if self.name is not None:
147            NestedUnionTestAddName(builder, name)
148        NestedUnionTestAddDataType(builder, self.dataType)
149        if self.data is not None:
150            NestedUnionTestAddData(builder, data)
151        NestedUnionTestAddId(builder, self.id)
152        nestedUnionTest = NestedUnionTestEnd(builder)
153        return nestedUnionTest
154