| 4851 | |
| 4852 | # Deserialize the struct value |
| 4853 | def deserialize(self, value=None): |
| 4854 | if value is None: |
| 4855 | value = Enums() |
| 4856 | |
| 4857 | assert ((self.buffer.offset + self._model.fbe_offset) <= self.buffer.size), "Model is broken!" |
| 4858 | if (self.buffer.offset + self._model.fbe_offset) > self.buffer.size: |
| 4859 | return Enums(), 0 |
| 4860 | |
| 4861 | fbe_struct_size = self.read_uint32(self._model.fbe_offset - 8) |
| 4862 | fbe_struct_type = self.read_uint32(self._model.fbe_offset - 4) |
| 4863 | assert ((fbe_struct_size > 0) and (fbe_struct_type == self.fbe_type)), "Model is broken!" |
| 4864 | if (fbe_struct_size <= 0) or (fbe_struct_type != self.fbe_type): |
| 4865 | return Enums(), 8 |
| 4866 | |
| 4867 | fbe_result = self._model.get(value) |
| 4868 | return fbe_result[0], (8 + fbe_result[1]) |
| 4869 | |
| 4870 | # Move to the next struct value |
| 4871 | def next(self, prev): |