diff options
author | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2010-07-15 14:28:02 +0100 |
---|---|---|
committer | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2010-07-15 16:22:17 +0100 |
commit | 993ea5cf35ecec2d9f46a865bf7dbb86e70f1a4e (patch) | |
tree | 9329f292703371ac56ad57a797d4e05f66940c5a /src/protocol.c | |
parent | 8105efd7dedce68c51b964f588e593e17bc9943a (diff) | |
download | telepathy-haze-993ea5cf35ecec2d9f46a865bf7dbb86e70f1a4e.tar.gz |
Pass username, password to HazeConnection as separate properties
Diffstat (limited to 'src/protocol.c')
-rw-r--r-- | src/protocol.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/protocol.c b/src/protocol.c index f16365d..37c28cb 100644 --- a/src/protocol.c +++ b/src/protocol.c @@ -617,16 +617,33 @@ haze_protocol_new_connection (TpBaseProtocol *base, { HazeProtocol *self = HAZE_PROTOCOL (base); HazeConnection *conn; + gchar *username; + gchar *password; GHashTable *purple_params = haze_protocol_translate_parameters (self, asv); + username = haze_protocol_get_username (purple_params, self->priv->prpl_info, + TRUE); + g_return_val_if_fail (username != NULL, FALSE); + + password = g_strdup (tp_asv_get_string (purple_params, "password")); + + if (password != NULL) + { + g_hash_table_remove (purple_params, "password"); + } + conn = g_object_new (HAZE_TYPE_CONNECTION, "protocol", tp_base_protocol_get_name (base), "prpl-id", self->priv->prpl_id, "prpl-info", self->priv->prpl_info, "parameters", purple_params, + "username", username, + "password", password, NULL); g_hash_table_unref (purple_params); + g_free (username); + g_free (password); if (!haze_connection_create_account (conn, error)) { |