| | 579 | |
| | 580 | case ICQ_CMDxSUB_AUTHxREQUEST: // Fall through |
| | 581 | case ICQ_CMDxSUB_AUTHxGRANTED: |
| | 582 | case ICQ_CMDxSUB_ADDEDxTOxLIST: |
| | 583 | { |
| | 584 | const char* id; |
| | 585 | unsigned long ppid; |
| | 586 | #define GETINFO(sub, type) \ |
| | 587 | if (myCurrentEvent->SubCommand() == sub) \ |
| | 588 | { \ |
| | 589 | type* p = dynamic_cast<type*>(myCurrentEvent); \ |
| | 590 | id = p->IdString(); \ |
| | 591 | ppid = p->PPID(); \ |
| | 592 | } |
| | 593 | |
| | 594 | GETINFO(ICQ_CMDxSUB_AUTHxREQUEST, CEventAuthRequest); |
| | 595 | GETINFO(ICQ_CMDxSUB_AUTHxGRANTED, CEventAuthGranted); |
| | 596 | GETINFO(ICQ_CMDxSUB_ADDEDxTOxLIST, CEventAdded); |
| | 597 | #undef GETINFO |
| | 598 | |
| | 599 | ICQUser* u = gUserManager.FetchUser(id, ppid, LOCK_R); |
| | 600 | if (u == NULL) |
| | 601 | gLicqDaemon->AddUserToList(id, ppid, false, true); |
| | 602 | else |
| | 603 | gUserManager.DropUser(u); |
| | 604 | |
| | 605 | LicqGui::instance()->showInfoDialog(mnuUserGeneral, id, ppid, false, true); |
| | 606 | break; |
| | 607 | } |