xref: /aosp_15_r20/external/flatbuffers/tests/namespace_test/NamespaceA/SecondTableInA.py (revision 890232f25432b36107d06881e0a25aaa6b473652)
1# automatically generated by the FlatBuffers compiler, do not modify
2
3# namespace: NamespaceA
4
5import flatbuffers
6from flatbuffers.compat import import_numpy
7np = import_numpy()
8
9class SecondTableInA(object):
10    __slots__ = ['_tab']
11
12    @classmethod
13    def GetRootAs(cls, buf, offset=0):
14        n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset)
15        x = SecondTableInA()
16        x.Init(buf, n + offset)
17        return x
18
19    @classmethod
20    def GetRootAsSecondTableInA(cls, buf, offset=0):
21        """This method is deprecated. Please switch to GetRootAs."""
22        return cls.GetRootAs(buf, offset)
23    # SecondTableInA
24    def Init(self, buf, pos):
25        self._tab = flatbuffers.table.Table(buf, pos)
26
27    # SecondTableInA
28    def ReferToC(self):
29        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4))
30        if o != 0:
31            x = self._tab.Indirect(o + self._tab.Pos)
32            obj = TableInC()
33            obj.Init(self._tab.Bytes, x)
34            return obj
35        return None
36
37def SecondTableInAStart(builder): builder.StartObject(1)
38def Start(builder):
39    return SecondTableInAStart(builder)
40def SecondTableInAAddReferToC(builder, referToC): builder.PrependUOffsetTRelativeSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(referToC), 0)
41def AddReferToC(builder, referToC):
42    return SecondTableInAAddReferToC(builder, referToC)
43def SecondTableInAEnd(builder): return builder.EndObject()
44def End(builder):
45    return SecondTableInAEnd(builder)
46try:
47    from typing import Optional
48except:
49    pass
50
51class SecondTableInAT(object):
52
53    # SecondTableInAT
54    def __init__(self):
55        self.referToC = None  # type: Optional[TableInCT]
56
57    @classmethod
58    def InitFromBuf(cls, buf, pos):
59        secondTableInA = SecondTableInA()
60        secondTableInA.Init(buf, pos)
61        return cls.InitFromObj(secondTableInA)
62
63    @classmethod
64    def InitFromObj(cls, secondTableInA):
65        x = SecondTableInAT()
66        x._UnPack(secondTableInA)
67        return x
68
69    # SecondTableInAT
70    def _UnPack(self, secondTableInA):
71        if secondTableInA is None:
72            return
73        if secondTableInA.ReferToC() is not None:
74            self.referToC = TableInCT.InitFromObj(secondTableInA.ReferToC())
75
76    # SecondTableInAT
77    def Pack(self, builder):
78        if self.referToC is not None:
79            referToC = self.referToC.Pack(builder)
80        SecondTableInAStart(builder)
81        if self.referToC is not None:
82            SecondTableInAAddReferToC(builder, referToC)
83        secondTableInA = SecondTableInAEnd(builder)
84        return secondTableInA
85