[Telepathy-commits] [telepathy-mission-control/master] Make use of tp_connection_get_self_handle()
Alberto Mardegan
alberto.mardegan at nokia.com
Thu Feb 19 00:25:08 PST 2009
---
src/mcd-connection.c | 54 +++++++++++++++++++------------------------------
1 files changed, 21 insertions(+), 33 deletions(-)
diff --git a/src/mcd-connection.c b/src/mcd-connection.c
index 7abe511..1488d4c 100644
--- a/src/mcd-connection.c
+++ b/src/mcd-connection.c
@@ -94,7 +94,6 @@ struct _McdConnectionPrivate
/* Telepathy connection */
TpConnection *tp_conn;
TpProxySignalConnection *new_channel_sc;
- guint self_handle;
/* Capabilities timer */
guint capabilities_timer;
@@ -361,8 +360,10 @@ on_presences_changed (TpConnection *proxy, GHashTable *presences,
{
McdConnectionPrivate *priv = user_data;
GValueArray *va;
+ TpHandle self_handle;
- va = g_hash_table_lookup (presences, GUINT_TO_POINTER (priv->self_handle));
+ self_handle = tp_connection_get_self_handle (proxy);
+ va = g_hash_table_lookup (presences, GUINT_TO_POINTER (self_handle));
if (va)
{
TpConnectionPresenceType presence;
@@ -719,9 +720,13 @@ _mcd_connection_get_normalized_name (McdConnection *connection)
{
McdConnectionPrivate *priv = connection->priv;
GArray *handles;
+ TpHandle self_handle;
+
+ g_return_if_fail (priv->tp_conn != NULL);
handles = g_array_sized_new (FALSE, FALSE, sizeof (guint), 1);
- g_array_append_val (handles, priv->self_handle);
+ self_handle = tp_connection_get_self_handle (priv->tp_conn);
+ g_array_append_val (handles, self_handle);
tp_cli_connection_call_inspect_handles (priv->tp_conn, -1,
TP_HANDLE_TYPE_CONTACT,
handles,
@@ -731,32 +736,9 @@ _mcd_connection_get_normalized_name (McdConnection *connection)
}
static void
-get_self_handle_cb (TpConnection *proxy, guint self_handle,
- const GError *error, gpointer user_data,
- GObject *weak_object)
-{
- McdConnection *connection = MCD_CONNECTION (weak_object);
- McdConnectionPrivate *priv = user_data;
-
- if (!error)
- {
- priv->self_handle = self_handle;
- _mcd_connection_get_normalized_name (connection);
- }
- else
- g_warning ("GetSelfHandle failed for connection %p: %s",
- connection, error->message);
-}
-
-static void
_mcd_connection_get_self_handle (McdConnection *connection)
{
- McdConnectionPrivate *priv = connection->priv;
-
- tp_cli_connection_call_get_self_handle (priv->tp_conn, -1,
- get_self_handle_cb,
- priv, NULL,
- (GObject *)connection);
+ _mcd_connection_get_normalized_name (connection);
}
static void
@@ -798,7 +780,7 @@ on_avatar_retrieved (TpConnection *proxy, guint contact_id, const gchar *token,
McdConnectionPrivate *priv = user_data;
gchar *prev_token = NULL;
- if (contact_id != priv->self_handle) return;
+ if (contact_id != tp_connection_get_self_handle (proxy)) return;
/* if we are setting the avatar, we must ignore this signal */
if (priv->setting_avatar) return;
@@ -832,7 +814,7 @@ on_avatar_updated (TpConnection *proxy, guint contact_id, const gchar *token,
McdConnection *connection = MCD_CONNECTION (weak_object);
gchar *prev_token;
- if (contact_id != priv->self_handle) return;
+ if (contact_id != tp_connection_get_self_handle (proxy)) return;
/* if we are setting the avatar, we must ignore this signal */
if (priv->setting_avatar) return;
@@ -891,6 +873,7 @@ avatars_request_tokens_cb (TpConnection *proxy, GHashTable *tokens,
GArray *avatar = NULL;
const gchar *token;
gchar *mime_type;
+ TpHandle self_handle;
if (error)
{
@@ -898,7 +881,8 @@ avatars_request_tokens_cb (TpConnection *proxy, GHashTable *tokens,
return;
}
- token = g_hash_table_lookup (tokens, GUINT_TO_POINTER (priv->self_handle));
+ self_handle = tp_connection_get_self_handle (proxy);
+ token = g_hash_table_lookup (tokens, GUINT_TO_POINTER (self_handle));
if (token)
return;
@@ -954,11 +938,13 @@ _mcd_connection_setup_avatar (McdConnection *connection)
else
{
GArray handles;
+ TpHandle self_handle;
g_debug ("checking for server token");
/* Set the avatar only if no other one was set */
+ self_handle = tp_connection_get_self_handle (priv->tp_conn);
handles.len = 1;
- handles.data = (gchar *)&priv->self_handle;
+ handles.data = (gchar *)&self_handle;
tp_cli_connection_interface_avatars_call_get_known_avatar_tokens (priv->tp_conn, -1,
&handles,
avatars_request_tokens_cb,
@@ -991,7 +977,7 @@ on_aliases_changed (TpConnection *proxy, const GPtrArray *aliases,
g_value_set_static_boxed (&data, g_ptr_array_index(aliases, i));
dbus_g_type_struct_get (&data, 0, &contact, 1, &alias, G_MAXUINT);
g_debug("Got alias for contact %u: %s", contact, alias);
- if (contact == priv->self_handle)
+ if (contact == tp_connection_get_self_handle (proxy))
{
g_debug("This is our alias");
if (!priv->alias || strcmp (priv->alias, alias) != 0)
@@ -1022,11 +1008,13 @@ _mcd_connection_set_alias (McdConnection *connection,
{
McdConnectionPrivate *priv = connection->priv;
GHashTable *aliases;
+ TpHandle self_handle;
g_debug ("%s: setting alias '%s'", G_STRFUNC, alias);
aliases = g_hash_table_new (NULL, NULL);
- g_hash_table_insert (aliases, GINT_TO_POINTER(priv->self_handle),
+ self_handle = tp_connection_get_self_handle (priv->tp_conn);
+ g_hash_table_insert (aliases, GINT_TO_POINTER(self_handle),
(gchar *)alias);
tp_cli_connection_interface_aliasing_call_set_aliases (priv->tp_conn, -1,
aliases,
--
1.5.6.5
More information about the telepathy-commits
mailing list