[telepathy-gabble/master] gabble_presence_resource_has_caps: change to use namespaces (and quirk pseudo-namespaces)
Simon McVittie
simon.mcvittie at collabora.co.uk
Tue Sep 8 04:10:08 PDT 2009
---
src/jingle-session.c | 4 +++-
src/presence.c | 7 ++++---
src/presence.h | 4 ++--
3 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/src/jingle-session.c b/src/jingle-session.c
index 06d736a..54a2af8 100644
--- a/src/jingle-session.c
+++ b/src/jingle-session.c
@@ -28,6 +28,7 @@
#define DEBUG_FLAG GABBLE_DEBUG_MEDIA
+#include "capabilities.h"
#include "connection.h"
#include "debug.h"
#include "gabble-signals-marshal.h"
@@ -631,7 +632,8 @@ lookup_content (GabbleJingleSession *sess,
if (creator == NULL && presence != NULL &&
gabble_presence_resource_has_caps (presence, priv->peer_resource,
- PRESENCE_CAP_JINGLE_OMITS_CONTENT_CREATOR))
+ gabble_capability_set_predicate_has,
+ QUIRK_OMITS_CONTENT_CREATORS))
{
DEBUG ("working around missing 'creator' attribute");
diff --git a/src/presence.c b/src/presence.c
index 64e266f..6bd24c3 100644
--- a/src/presence.c
+++ b/src/presence.c
@@ -198,7 +198,8 @@ gabble_presence_pick_resource_by_caps (
gboolean
gabble_presence_resource_has_caps (GabblePresence *presence,
const gchar *resource,
- GabblePresenceCapabilities caps)
+ GabbleCapabilitySetPredicate predicate,
+ gpointer user_data)
{
GabblePresencePrivate *priv = GABBLE_PRESENCE_PRIV (presence);
GSList *i;
@@ -207,8 +208,8 @@ gabble_presence_resource_has_caps (GabblePresence *presence,
{
Resource *res = (Resource *) i->data;
- if (!tp_strdiff (res->name, resource) && (res->caps & caps) == caps)
- return TRUE;
+ if (!tp_strdiff (res->name, resource))
+ return predicate (res->cap_set, user_data);
}
return FALSE;
diff --git a/src/presence.h b/src/presence.h
index 976a7fc..eb35d0c 100644
--- a/src/presence.h
+++ b/src/presence.h
@@ -91,8 +91,8 @@ const gchar *gabble_presence_pick_resource_by_caps (GabblePresence *presence,
GabbleCapabilitySetPredicate predicate, gpointer user_data);
gboolean gabble_presence_resource_has_caps (GabblePresence *presence,
- const gchar *resource,
- GabblePresenceCapabilities caps);
+ const gchar *resource, GabbleCapabilitySetPredicate predicate,
+ gpointer user_data);
LmMessage *gabble_presence_as_message (GabblePresence *presence,
const gchar *to);
--
1.5.6.5
More information about the telepathy-commits
mailing list