Mercurial > pidgin
diff libpurple/protocols/jabber/buddy.c @ 23814:d0ac3c438b71
Check remote JID's capabilities for audio and video XEP support.
author | Mike Ruprecht <maiku@soc.pidgin.im> |
---|---|
date | Sat, 31 May 2008 20:15:34 +0000 |
parents | 903fb6879521 |
children | 3da0957e7821 |
line wrap: on
line diff
--- a/libpurple/protocols/jabber/buddy.c Sat May 31 06:45:42 2008 +0000 +++ b/libpurple/protocols/jabber/buddy.c Sat May 31 20:15:34 2008 +0000 @@ -2491,5 +2491,30 @@ js); } +gboolean +jabber_buddy_has_capability(JabberBuddy *jb, const gchar *cap) +{ + JabberBuddyResource *jbr = jabber_buddy_find_resource(jb, NULL); + const GList *iter = NULL; + + if (!jbr) { + purple_debug_error("jabber", + "Unable to find caps: buddy might be offline\n"); + return FALSE; + } + + if (!jbr->caps) { + purple_debug_error("jabber", + "Unable to find caps: nothing known about buddy\n"); + return FALSE; + } + + for (iter = jbr->caps->features ; iter ; iter = g_list_next(iter)) { + if (strcmp(iter->data, cap) == 0) + return TRUE; + } + + return FALSE; +}