(cls, data)
| 298 | |
| 299 | @classmethod |
| 300 | def from_bytes(cls, data): |
| 301 | revision = None |
| 302 | aces = [] |
| 303 | |
| 304 | header_size = struct.calcsize(cls.HEADER_FORMAT) |
| 305 | header, remaining = data[:header_size], data[header_size:] |
| 306 | revision, sbz1, size, count, sbz2 = struct.unpack(cls.HEADER_FORMAT, header) |
| 307 | |
| 308 | assert len(data) >= size |
| 309 | |
| 310 | for i in range(count): |
| 311 | ace_size = struct.unpack('<H', remaining[2:4])[0] |
| 312 | ace_data, remaining = remaining[:ace_size], remaining[ace_size:] |
| 313 | aces.append(ACE.from_bytes(ace_data)) |
| 314 | |
| 315 | return cls(revision, aces) |
| 316 | |
| 317 | |
| 318 | class SecurityDescriptor(object): |
nothing calls this directly
no test coverage detected