| 922 | |
| 923 | # Fast Binary Encoding EnumUInt32 field model |
| 924 | class FieldModelEnumUInt32(fbe.FieldModel): |
| 925 | def __init__(self, buffer, offset): |
| 926 | super().__init__(buffer, offset) |
| 927 | |
| 928 | # Get the field size |
| 929 | @property |
| 930 | def fbe_size(self): |
| 931 | return 4 |
| 932 | |
| 933 | # Get the value |
| 934 | def get(self, defaults=None): |
| 935 | if defaults is None: |
| 936 | defaults = EnumUInt32() |
| 937 | |
| 938 | if (self._buffer.offset + self.fbe_offset + self.fbe_size) > self._buffer.size: |
| 939 | return defaults |
| 940 | |
| 941 | return EnumUInt32(self.read_uint32(self.fbe_offset)) |
| 942 | |
| 943 | # Set the value |
| 944 | def set(self, value): |
| 945 | assert ((self._buffer.offset + self.fbe_offset + self.fbe_size) <= self._buffer.size), "Model is broken!" |
| 946 | if (self._buffer.offset + self.fbe_offset + self.fbe_size) > self._buffer.size: |
| 947 | return |
| 948 | |
| 949 | self.write_uint32(self.fbe_offset, value) |
| 950 | |
| 951 | |
| 952 | # Fast Binary Encoding EnumUInt32 final model |