| 406 | |
| 407 | |
| 408 | class Tlv(object): |
| 409 | def __init__(self, name): |
| 410 | self.name = 'tlv_' + name |
| 411 | self.messages = {} |
| 412 | |
| 413 | def add_message(self, tokens, comments=[]): |
| 414 | """ tokens -> (name, value[, option]) """ |
| 415 | self.messages[tokens[0]] = Message(tokens[0], tokens[1], option=tokens[2:], |
| 416 | enum_prefix=self.name, |
| 417 | struct_prefix=self.struct_name(), |
| 418 | comments=comments) |
| 419 | |
| 420 | def type_name(self): |
| 421 | return 'struct ' + self.struct_name() |
| 422 | |
| 423 | def struct_name(self): |
| 424 | return self.name |
| 425 | |
| 426 | def find_message(self, name): |
| 427 | return self.messages[name] |
| 428 | |
| 429 | def ordered_msgs(self): |
| 430 | return sorted(self.messages.values(), key=lambda item: int(item.number)) |
| 431 | |
| 432 | |
| 433 | class Master(object): |