Mercurial > pidgin
comparison src/protocols/msn/notification.c @ 5363:ebebc833cf77
[gaim-migrate @ 5739]
You can now set your home, work, and mobile phone numbers.
Trust me, I'm going somewhere with all this.
committer: Tailor Script <tailor@pidgin.im>
| author | Christian Hammond <chipx86@chipx86.com> |
|---|---|
| date | Tue, 13 May 2003 08:03:27 +0000 |
| parents | 953aa05279f4 |
| children | 379beab3d157 |
comparison
equal
deleted
inserted
replaced
| 5362:a206742d470d | 5363:ebebc833cf77 |
|---|---|
| 429 | 429 |
| 430 static gboolean | 430 static gboolean |
| 431 __bpr_cmd(MsnServConn *servconn, const char *command, const char **params, | 431 __bpr_cmd(MsnServConn *servconn, const char *command, const char **params, |
| 432 size_t param_count) | 432 size_t param_count) |
| 433 { | 433 { |
| 434 struct gaim_connection *gc = servconn->session->account->gc; | 434 MsnSession *session = servconn->session; |
| 435 struct gaim_connection *gc = session->account->gc; | |
| 435 struct buddy *b; | 436 struct buddy *b; |
| 436 const char *passport, *type, *value; | 437 const char *passport, *type, *value; |
| 437 int status = 0; | 438 int status = 0; |
| 439 MsnUser *user; | |
| 438 | 440 |
| 439 passport = params[1]; | 441 passport = params[1]; |
| 440 type = params[2]; | 442 type = params[2]; |
| 441 value = params[3]; | 443 value = params[3]; |
| 442 | 444 |
| 443 if (!strcmp(type, "MOB")) { | 445 user = msn_users_find_with_passport(session->users, passport); |
| 444 if (value != NULL && !strcmp(value, "Y")) { | 446 |
| 445 gaim_debug(GAIM_DEBUG_MISC, "msn", | 447 if (value != NULL) { |
| 446 "%s has a pager\n", passport); | 448 if (!strcmp(type, "MOB")) { |
| 447 if ((b = gaim_find_buddy(gc->account, passport)) != NULL) { | 449 if (!strcmp(value, "Y")) { |
| 448 status = b->uc | (1 << 5); | 450 gaim_debug(GAIM_DEBUG_MISC, "msn", |
| 449 | 451 "%s has a pager\n", passport); |
| 450 serv_got_update(gc, (char *)passport, 1, 0, 0, 0, status); | 452 if ((b = gaim_find_buddy(gc->account, passport)) != NULL) { |
| 453 status = b->uc | (1 << 5); | |
| 454 | |
| 455 serv_got_update(gc, (char *)passport, 1, 0, 0, 0, status); | |
| 456 } | |
| 451 } | 457 } |
| 452 } | 458 } |
| 459 else if (!strcmp(type, "PHH")) | |
| 460 msn_user_set_home_phone(user, msn_url_decode(value)); | |
| 461 else if (!strcmp(type, "PHW")) | |
| 462 msn_user_set_work_phone(user, msn_url_decode(value)); | |
| 463 else if (!strcmp(type, "PHM")) | |
| 464 msn_user_set_mobile_phone(user, msn_url_decode(value)); | |
| 453 } | 465 } |
| 454 | 466 |
| 455 return TRUE; | 467 return TRUE; |
| 456 } | 468 } |
| 457 | 469 |
| 694 } | 706 } |
| 695 | 707 |
| 696 b = gaim_buddy_new(gc->account, | 708 b = gaim_buddy_new(gc->account, |
| 697 msn_user_get_passport(user), NULL); | 709 msn_user_get_passport(user), NULL); |
| 698 | 710 |
| 711 b->proto_data = user; | |
| 712 | |
| 699 gaim_blist_add_buddy(b, g, NULL); | 713 gaim_blist_add_buddy(b, g, NULL); |
| 700 } | 714 } |
| 701 | 715 |
| 702 serv_got_alias(gc, (char *)msn_user_get_passport(user), | 716 serv_got_alias(gc, (char *)msn_user_get_passport(user), |
| 703 (char *)msn_user_get_name(user)); | 717 (char *)msn_user_get_name(user)); |
| 704 | |
| 705 msn_user_destroy(user); | |
| 706 } | 718 } |
| 707 } | 719 } |
| 708 | 720 |
| 709 return TRUE; | 721 return TRUE; |
| 710 } | 722 } |
| 738 status |= UC_UNAVAILABLE | (MSN_PHONE << 1); | 750 status |= UC_UNAVAILABLE | (MSN_PHONE << 1); |
| 739 else if (!g_ascii_strcasecmp(state, "LUN")) | 751 else if (!g_ascii_strcasecmp(state, "LUN")) |
| 740 status |= UC_UNAVAILABLE | (MSN_LUNCH << 1); | 752 status |= UC_UNAVAILABLE | (MSN_LUNCH << 1); |
| 741 | 753 |
| 742 serv_got_update(gc, (char *)passport, 1, 0, 0, 0, status); | 754 serv_got_update(gc, (char *)passport, 1, 0, 0, 0, status); |
| 755 | |
| 756 return TRUE; | |
| 757 } | |
| 758 | |
| 759 static gboolean | |
| 760 __prp_cmd(MsnServConn *servconn, const char *command, const char **params, | |
| 761 size_t param_count) | |
| 762 { | |
| 763 MsnSession *session = servconn->session; | |
| 764 const char *type, *value; | |
| 765 | |
| 766 type = params[2]; | |
| 767 value = params[3]; | |
| 768 | |
| 769 if (param_count == 4) { | |
| 770 if (!strcmp(type, "PHH")) | |
| 771 msn_user_set_home_phone(session->user, msn_url_decode(value)); | |
| 772 else if (!strcmp(type, "PHW")) | |
| 773 msn_user_set_work_phone(session->user, msn_url_decode(value)); | |
| 774 else if (!strcmp(type, "PHM")) | |
| 775 msn_user_set_mobile_phone(session->user, msn_url_decode(value)); | |
| 776 } | |
| 743 | 777 |
| 744 return TRUE; | 778 return TRUE; |
| 745 } | 779 } |
| 746 | 780 |
| 747 static gboolean | 781 static gboolean |
| 1194 hide_login_progress(gc, _("Unable to write to server")); | 1228 hide_login_progress(gc, _("Unable to write to server")); |
| 1195 signoff(gc); | 1229 signoff(gc); |
| 1196 return FALSE; | 1230 return FALSE; |
| 1197 } | 1231 } |
| 1198 | 1232 |
| 1233 session->user = msn_user_new(session, gc->username, NULL); | |
| 1234 | |
| 1199 set_login_progress(session->account->gc, 4, _("Syncing with server")); | 1235 set_login_progress(session->account->gc, 4, _("Syncing with server")); |
| 1200 | 1236 |
| 1201 return TRUE; | 1237 return TRUE; |
| 1202 } | 1238 } |
| 1203 | 1239 |
| 1239 msn_servconn_register_command(notification, "LSG", __lsg_cmd); | 1275 msn_servconn_register_command(notification, "LSG", __lsg_cmd); |
| 1240 msn_servconn_register_command(notification, "LST", __lst_cmd); | 1276 msn_servconn_register_command(notification, "LST", __lst_cmd); |
| 1241 msn_servconn_register_command(notification, "MSG", __msg_cmd); | 1277 msn_servconn_register_command(notification, "MSG", __msg_cmd); |
| 1242 msn_servconn_register_command(notification, "NLN", __nln_cmd); | 1278 msn_servconn_register_command(notification, "NLN", __nln_cmd); |
| 1243 msn_servconn_register_command(notification, "OUT", __out_cmd); | 1279 msn_servconn_register_command(notification, "OUT", __out_cmd); |
| 1244 msn_servconn_register_command(notification, "PRP", __blank_cmd); | 1280 msn_servconn_register_command(notification, "PRP", __prp_cmd); |
| 1245 msn_servconn_register_command(notification, "QNG", __blank_cmd); | 1281 msn_servconn_register_command(notification, "QNG", __blank_cmd); |
| 1246 msn_servconn_register_command(notification, "QRY", __blank_cmd); | 1282 msn_servconn_register_command(notification, "QRY", __blank_cmd); |
| 1247 msn_servconn_register_command(notification, "REA", __rea_cmd); | 1283 msn_servconn_register_command(notification, "REA", __rea_cmd); |
| 1248 msn_servconn_register_command(notification, "REG", __reg_cmd); | 1284 msn_servconn_register_command(notification, "REG", __reg_cmd); |
| 1249 msn_servconn_register_command(notification, "REM", __rem_cmd); | 1285 msn_servconn_register_command(notification, "REM", __rem_cmd); |
