| 477 | } |
| 478 | |
| 479 | bool StructHandle::GetEHandle( const char *member, CBaseHandle **handle ) |
| 480 | { |
| 481 | int offset; |
| 482 | |
| 483 | if (!info->getOffset(member, &offset)) |
| 484 | { |
| 485 | return false; |
| 486 | } |
| 487 | |
| 488 | MemberType type; |
| 489 | |
| 490 | if (!info->getType(member, &type)) |
| 491 | { |
| 492 | return false; |
| 493 | } |
| 494 | |
| 495 | switch (type) |
| 496 | { |
| 497 | case Member_EHandle: |
| 498 | { |
| 499 | *handle = (CBaseHandle *)((unsigned char *)data + offset); |
| 500 | break; |
| 501 | } |
| 502 | |
| 503 | case Member_EHandlePointer: |
| 504 | { |
| 505 | *handle = *(CBaseHandle **)((unsigned char *)data + offset); |
| 506 | break; |
| 507 | } |
| 508 | |
| 509 | default: |
| 510 | { |
| 511 | return false; |
| 512 | } |
| 513 | } |
| 514 | |
| 515 | return true; |
| 516 | } |
| 517 | |
| 518 | bool StructHandle::SetEHandle( const char *member, CBaseHandle *handle ) |
| 519 | { |
no test coverage detected