| 1138 | |
| 1139 | # Fast Binary Encoding EnumUInt64 field model |
| 1140 | class FieldModelEnumUInt64(fbe.FieldModel): |
| 1141 | def __init__(self, buffer, offset): |
| 1142 | super().__init__(buffer, offset) |
| 1143 | |
| 1144 | # Get the field size |
| 1145 | @property |
| 1146 | def fbe_size(self): |
| 1147 | return 8 |
| 1148 | |
| 1149 | # Get the value |
| 1150 | def get(self, defaults=None): |
| 1151 | if defaults is None: |
| 1152 | defaults = EnumUInt64() |
| 1153 | |
| 1154 | if (self._buffer.offset + self.fbe_offset + self.fbe_size) > self._buffer.size: |
| 1155 | return defaults |
| 1156 | |
| 1157 | return EnumUInt64(self.read_uint64(self.fbe_offset)) |
| 1158 | |
| 1159 | # Set the value |
| 1160 | def set(self, value): |
| 1161 | assert ((self._buffer.offset + self.fbe_offset + self.fbe_size) <= self._buffer.size), "Model is broken!" |
| 1162 | if (self._buffer.offset + self.fbe_offset + self.fbe_size) > self._buffer.size: |
| 1163 | return |
| 1164 | |
| 1165 | self.write_uint64(self.fbe_offset, value) |
| 1166 | |
| 1167 | |
| 1168 | # Fast Binary Encoding EnumUInt64 final model |