| 3200 | |
| 3201 | # Deserialize the struct value |
| 3202 | def deserialize(self, value=None): |
| 3203 | if value is None: |
| 3204 | value = Enums() |
| 3205 | |
| 3206 | if (self.buffer.offset + self._model.fbe_offset - 4) > self.buffer.size: |
| 3207 | value = Enums() |
| 3208 | return value, 0 |
| 3209 | |
| 3210 | fbe_full_size = self.read_uint32(self._model.fbe_offset - 4) |
| 3211 | assert (fbe_full_size >= self._model.fbe_size), "Model is broken!" |
| 3212 | if fbe_full_size < self._model.fbe_size: |
| 3213 | value = Enums() |
| 3214 | return value, 0 |
| 3215 | |
| 3216 | self._model.get(value) |
| 3217 | return value, fbe_full_size |
| 3218 | |
| 3219 | # Move to the next struct value |
| 3220 | def next(self, prev): |