Mercurial > pidgin.yaz
comparison libpurple/protocols/bonjour/buddy.c @ 18799:83719d57a8ee
Implement bonjour buddy icons in the win32 implementation. Avahi's howl wrapper doesn't implement sw_discovery_query_record(), so we can't do it elsewhere yet.
author | Daniel Atallah <daniel.atallah@gmail.com> |
---|---|
date | Sun, 05 Aug 2007 02:50:48 +0000 |
parents | ed1def07d86e |
children | 7bf6b9a70b41 |
comparison
equal
deleted
inserted
replaced
18798:ed1def07d86e | 18799:83719d57a8ee |
---|---|
154 "message", bonjour_buddy->msg, NULL); | 154 "message", bonjour_buddy->msg, NULL); |
155 else | 155 else |
156 purple_prpl_got_user_status(account, buddy->name, status_id, NULL); | 156 purple_prpl_got_user_status(account, buddy->name, status_id, NULL); |
157 | 157 |
158 purple_prpl_got_user_idle(account, buddy->name, FALSE, 0); | 158 purple_prpl_got_user_idle(account, buddy->name, FALSE, 0); |
159 | |
160 /* TODO: Because we don't save Bonjour buddies in blist.xml, | |
161 * we will always have to look up the buddy icon at login time. | |
162 * I think we should figure out a way to do something about this. */ | |
163 | |
164 /* Deal with the buddy icon */ | |
165 old_hash = purple_buddy_icons_get_checksum_for_user(buddy); | |
166 new_hash = (bonjour_buddy->phsh && *(bonjour_buddy->phsh)) ? bonjour_buddy->phsh : NULL; | |
167 if (new_hash && (!old_hash || strcmp(old_hash, new_hash) != 0)) { | |
168 /* Look up the new icon data */ | |
169 bonjour_dns_sd_retrieve_buddy_icon(bonjour_buddy); | |
170 } else | |
171 purple_buddy_icons_set_for_user(account, buddy->name, NULL, 0, NULL); | |
159 } | 172 } |
160 | 173 |
161 /** | 174 /** |
162 * Deletes a buddy from memory. | 175 * Deletes a buddy from memory. |
163 */ | 176 */ |
164 void | 177 void |
165 bonjour_buddy_delete(BonjourBuddy *buddy) | 178 bonjour_buddy_delete(BonjourBuddy *buddy) |
166 { | 179 { |
167 g_free(buddy->name); | 180 g_free(buddy->name); |
168 g_free(buddy->ip); | 181 g_free(buddy->ip); |
182 g_free(buddy->full_service_name); | |
169 | 183 |
170 g_free(buddy->first); | 184 g_free(buddy->first); |
171 g_free(buddy->phsh); | 185 g_free(buddy->phsh); |
172 g_free(buddy->status); | 186 g_free(buddy->status); |
173 g_free(buddy->email); | 187 g_free(buddy->email); |