| 490 | |
| 491 | # Fast Binary Encoding EnumUInt8 field model |
| 492 | class FieldModelEnumUInt8(fbe.FieldModel): |
| 493 | def __init__(self, buffer, offset): |
| 494 | super().__init__(buffer, offset) |
| 495 | |
| 496 | # Get the field size |
| 497 | @property |
| 498 | def fbe_size(self): |
| 499 | return 1 |
| 500 | |
| 501 | # Get the value |
| 502 | def get(self, defaults=None): |
| 503 | if defaults is None: |
| 504 | defaults = EnumUInt8() |
| 505 | |
| 506 | if (self._buffer.offset + self.fbe_offset + self.fbe_size) > self._buffer.size: |
| 507 | return defaults |
| 508 | |
| 509 | return EnumUInt8(self.read_uint8(self.fbe_offset)) |
| 510 | |
| 511 | # Set the value |
| 512 | def set(self, value): |
| 513 | assert ((self._buffer.offset + self.fbe_offset + self.fbe_size) <= self._buffer.size), "Model is broken!" |
| 514 | if (self._buffer.offset + self.fbe_offset + self.fbe_size) > self._buffer.size: |
| 515 | return |
| 516 | |
| 517 | self.write_uint8(self.fbe_offset, value) |
| 518 | |
| 519 | |
| 520 | # Fast Binary Encoding EnumUInt8 final model |