diff options
author | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2010-09-28 13:09:39 +0100 |
---|---|---|
committer | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2010-09-28 13:09:39 +0100 |
commit | 939631bc1d5b80f4d5ba21936f05c028ce2751ae (patch) | |
tree | c27c9e1416fcc031e2c8b4f462b563bf5abc5ec0 | |
parent | 06289953fbef7f5d04184ead091c73a508d5bd54 (diff) | |
download | telepathy-gabble-939631bc1d5b80f4d5ba21936f05c028ce2751ae.tar.gz |
Use gabble_roster_handle_sends_us_presence, etc., outside roster.c
-rw-r--r-- | src/conn-presence.c | 6 | ||||
-rw-r--r-- | src/im-channel.c | 14 | ||||
-rw-r--r-- | src/presence-cache.c | 5 |
3 files changed, 10 insertions, 15 deletions
diff --git a/src/conn-presence.c b/src/conn-presence.c index 20b93456c..be7fe652e 100644 --- a/src/conn-presence.c +++ b/src/conn-presence.c @@ -181,8 +181,7 @@ construct_contact_statuses_cb (GObject *obj, } else { - if (gabble_roster_handle_get_subscription (self->roster, handle) - & GABBLE_ROSTER_SUBSCRIPTION_TO) + if (gabble_roster_handle_sends_presence_to_us (self->roster, handle)) status = GABBLE_PRESENCE_OFFLINE; else status = GABBLE_PRESENCE_UNKNOWN; @@ -1042,8 +1041,7 @@ conn_presence_visible_to (GabbleConnection *self, if (self->self_presence->status == GABBLE_PRESENCE_HIDDEN) return FALSE; - if ((gabble_roster_handle_get_subscription (self->roster, recipient) - & GABBLE_ROSTER_SUBSCRIPTION_FROM) == 0) + if (!gabble_roster_handle_gets_presence_from_us (self->roster, recipient)) return FALSE; /* FIXME: other reasons they might not be able to see our presence? */ diff --git a/src/im-channel.c b/src/im-channel.c index 258f3d2b3..30c152352 100644 --- a/src/im-channel.c +++ b/src/im-channel.c @@ -135,8 +135,7 @@ gabble_im_channel_constructed (GObject *obj) priv->peer_jid = g_strdup (tp_handle_inspect (contact_handles, target)); - if (gabble_roster_handle_get_subscription (conn->roster, target) - & GABBLE_ROSTER_SUBSCRIPTION_FROM) + if (gabble_roster_handle_gets_presence_from_us (conn->roster, target)) priv->send_nick = FALSE; else priv->send_nick = TRUE; @@ -234,20 +233,17 @@ gabble_im_channel_dispose (GObject *object) GabbleConnection *conn = GABBLE_CONNECTION (tp_base_channel_get_connection (base)); TpHandle target = tp_base_channel_get_target_handle (base); - GabblePresence *presence; - GabbleRosterSubscription subscription; if (priv->dispose_has_run) return; priv->dispose_has_run = TRUE; - subscription = gabble_roster_handle_get_subscription (conn->roster, target); - - presence = gabble_presence_cache_get (conn->presence_cache, target); - - if ((GABBLE_ROSTER_SUBSCRIPTION_TO & subscription) == 0) + if (!gabble_roster_handle_sends_presence_to_us (conn->roster, target)) { + GabblePresence *presence = gabble_presence_cache_get ( + conn->presence_cache, target); + if (NULL != presence) { presence->keep_unavailable = FALSE; diff --git a/src/presence-cache.c b/src/presence-cache.c index ec4e7fc21..86598254e 100644 --- a/src/presence-cache.c +++ b/src/presence-cache.c @@ -1624,8 +1624,9 @@ gabble_presence_parse_presence_message (GabblePresenceCache *cache, break; case LM_MESSAGE_SUB_TYPE_UNAVAILABLE: - if (gabble_roster_handle_get_subscription (priv->conn->roster, handle) - & GABBLE_ROSTER_SUBSCRIPTION_FROM) + /* FIXME: this should probably check for 'to', not 'from' */ + if (gabble_roster_handle_gets_presence_from_us (priv->conn->roster, + handle)) presence_id = GABBLE_PRESENCE_OFFLINE; else presence_id = GABBLE_PRESENCE_UNKNOWN; |