summaryrefslogtreecommitdiff
path: root/src/mcd-account-connection.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mcd-account-connection.c')
-rw-r--r--src/mcd-account-connection.c28
1 files changed, 18 insertions, 10 deletions
diff --git a/src/mcd-account-connection.c b/src/mcd-account-connection.c
index 37cbd869..ec119d7f 100644
--- a/src/mcd-account-connection.c
+++ b/src/mcd-account-connection.c
@@ -51,29 +51,37 @@ _mcd_account_connection_context_free (McdAccountConnectionContext *c)
g_free (c);
}
-void
-_mcd_account_connection_begin (McdAccount *account)
+static void
+connection_begin_dup_params_cb (McdAccount *account, GHashTable *params,
+ gpointer user_data)
{
McdAccountConnectionContext *ctx;
- /* check whether a connection process is already ongoing */
- if (_mcd_account_get_connection_context (account) != NULL)
- {
- DEBUG ("already trying to connect");
- return;
- }
-
/* get account params */
/* create dynamic params HT */
/* run the handlers */
ctx = g_malloc (sizeof (McdAccountConnectionContext));
ctx->i_filter = 0;
- ctx->params = _mcd_account_dup_parameters (account);
+
+ ctx->params = params;
g_assert (ctx->params != NULL);
_mcd_account_set_connection_context (account, ctx);
mcd_account_connection_proceed (account, TRUE);
}
+void
+_mcd_account_connection_begin (McdAccount *account)
+{
+ /* check whether a connection process is already ongoing */
+ if (_mcd_account_get_connection_context (account) != NULL)
+ {
+ DEBUG ("already trying to connect");
+ return;
+ }
+
+ _mcd_account_dup_parameters (account, connection_begin_dup_params_cb, NULL);
+}
+
void
mcd_account_connection_proceed (McdAccount *account, gboolean success)
{