Mercurial > pidgin
comparison src/protocols/oscar/oscar.c @ 7945:0a0be07f066a
[gaim-migrate @ 8619]
Hopefully recognize the iChat AV capability.
Also hopefully fix a problem faceprint was seeing where hiptop
users wouldn't always have the hiptop icon.
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Sun, 28 Dec 2003 22:12:50 +0000 |
parents | c5a4d1863425 |
children | 7b8407d8c546 |
comparison
equal
deleted
inserted
replaced
7944:a99f0aebc7ce | 7945:0a0be07f066a |
---|---|
49 #define UC_ADMIN 0x04 | 49 #define UC_ADMIN 0x04 |
50 #define UC_UNCONFIRMED 0x08 | 50 #define UC_UNCONFIRMED 0x08 |
51 #define UC_NORMAL 0x10 | 51 #define UC_NORMAL 0x10 |
52 #define UC_AB 0x20 | 52 #define UC_AB 0x20 |
53 #define UC_WIRELESS 0x40 | 53 #define UC_WIRELESS 0x40 |
54 #define UC_HIPTOP 0x80 | |
55 | 54 |
56 #define AIMHASHDATA "http://gaim.sourceforge.net/aim_data.php3" | 55 #define AIMHASHDATA "http://gaim.sourceforge.net/aim_data.php3" |
57 | 56 |
58 #define OSCAR_CONNECT_STEPS 6 | 57 #define OSCAR_CONNECT_STEPS 6 |
59 | 58 |
1756 | 1755 |
1757 if (info->present & AIM_USERINFO_PRESENT_CAPABILITIES) | 1756 if (info->present & AIM_USERINFO_PRESENT_CAPABILITIES) |
1758 caps = info->capabilities; | 1757 caps = info->capabilities; |
1759 if (info->flags & AIM_FLAG_ACTIVEBUDDY) | 1758 if (info->flags & AIM_FLAG_ACTIVEBUDDY) |
1760 type |= UC_AB; | 1759 type |= UC_AB; |
1761 if (caps & AIM_CAPS_HIPTOP) | |
1762 type |= UC_HIPTOP; | |
1763 | 1760 |
1764 if (info->present & AIM_USERINFO_PRESENT_FLAGS) { | 1761 if (info->present & AIM_USERINFO_PRESENT_FLAGS) { |
1765 if (info->flags & AIM_FLAG_UNCONFIRMED) | 1762 if (info->flags & AIM_FLAG_UNCONFIRMED) |
1766 type |= UC_UNCONFIRMED; | 1763 type |= UC_UNCONFIRMED; |
1767 if (info->flags & AIM_FLAG_ADMINISTRATOR) | 1764 if (info->flags & AIM_FLAG_ADMINISTRATOR) |
3135 tmp = _("Security Enabled"); | 3132 tmp = _("Security Enabled"); |
3136 break; | 3133 break; |
3137 case AIM_CAPS_VIDEO: | 3134 case AIM_CAPS_VIDEO: |
3138 tmp = _("Video Chat"); | 3135 tmp = _("Video Chat"); |
3139 break; | 3136 break; |
3137 case AIM_CAPS_ICHATAV: | |
3138 tmp = _("iChat AV"); | |
3139 break; | |
3140 default: | 3140 default: |
3141 tmp = NULL; | 3141 tmp = NULL; |
3142 break; | 3142 break; |
3143 } | 3143 } |
3144 if (tmp) | 3144 if (tmp) |
5383 account = b->account; | 5383 account = b->account; |
5384 if (account != NULL) | 5384 if (account != NULL) |
5385 gc = account->gc; | 5385 gc = account->gc; |
5386 if (gc != NULL) | 5386 if (gc != NULL) |
5387 od = gc->proto_data; | 5387 od = gc->proto_data; |
5388 if (od != NULL) | |
5389 userinfo = aim_locate_finduserinfo(od->sess, b->name); | |
5388 | 5390 |
5389 if (!GAIM_BUDDY_IS_ONLINE(b)) { | 5391 if (!GAIM_BUDDY_IS_ONLINE(b)) { |
5390 char *gname; | 5392 char *gname; |
5391 if ((b->name) && (od) && (od->sess->ssi.received_data) && | 5393 if ((b->name) && (od) && (od->sess->ssi.received_data) && |
5392 (gname = aim_ssi_itemlist_findparentname(od->sess->ssi.local, b->name)) && | 5394 (gname = aim_ssi_itemlist_findparentname(od->sess->ssi.local, b->name)) && |
5421 emblems[i++] = "aol"; | 5423 emblems[i++] = "aol"; |
5422 if (b->uc & UC_ADMIN) | 5424 if (b->uc & UC_ADMIN) |
5423 emblems[i++] = "admin"; | 5425 emblems[i++] = "admin"; |
5424 if (b->uc & UC_AB && i < 4) | 5426 if (b->uc & UC_AB && i < 4) |
5425 emblems[i++] = "activebuddy"; | 5427 emblems[i++] = "activebuddy"; |
5426 if (b->uc & UC_HIPTOP && i < 4) | |
5427 emblems[i++] = "hiptop"; | |
5428 /* if (b->uc & UC_UNCONFIRMED && i < 4) | 5428 /* if (b->uc & UC_UNCONFIRMED && i < 4) |
5429 emblems[i++] = "unconfirmed"; */ | 5429 emblems[i++] = "unconfirmed"; */ |
5430 | 5430 |
5431 if ((i < 4) && (od != NULL)) { | 5431 if ((i < 4) && (userinfo != NULL) && (userinfo->capabilities & AIM_CAPS_HIPTOP)) |
5432 userinfo = aim_locate_finduserinfo(od->sess, b->name); | 5432 emblems[i++] = "hiptop"; |
5433 if ((userinfo != NULL) && (userinfo->capabilities & AIM_CAPS_SECUREIM)) | 5433 |
5434 if ((i < 4) && (userinfo != NULL) && (userinfo->capabilities & AIM_CAPS_SECUREIM)) | |
5434 emblems[i++] = "secure"; | 5435 emblems[i++] = "secure"; |
5435 } | |
5436 | 5436 |
5437 *se = emblems[0]; | 5437 *se = emblems[0]; |
5438 *sw = emblems[1]; | 5438 *sw = emblems[1]; |
5439 *nw = emblems[2]; | 5439 *nw = emblems[2]; |
5440 *ne = emblems[3]; | 5440 *ne = emblems[3]; |