summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWill Thompson <will.thompson@collabora.co.uk>2011-09-26 18:54:12 +0100
committerWill Thompson <will.thompson@collabora.co.uk>2011-09-28 11:32:20 +0100
commit9d8bd36fa860a5599733c44763fb3aac5fc72b92 (patch)
tree282af97549d5cf621709126a56efbb71249398d8
parentd8ed34e08ef5ae4ce87d317663e3467ac76fdabb (diff)
downloadtelepathy-mission-control-9d8bd36fa860a5599733c44763fb3aac5fc72b92.tar.gz
Account: refactor re-requesting RequestedPresence.
-rw-r--r--src/mcd-account.c31
1 files changed, 21 insertions, 10 deletions
diff --git a/src/mcd-account.c b/src/mcd-account.c
index d86b0e65..3f134c4b 100644
--- a/src/mcd-account.c
+++ b/src/mcd-account.c
@@ -924,6 +924,25 @@ mcd_account_request_presence_int (McdAccount *account,
}
}
+/*
+ * mcd_account_rerequest_presence:
+ *
+ * Re-requests the account's current RequestedPresence, possibly triggering a
+ * new connection attempt.
+ */
+static void
+mcd_account_rerequest_presence (McdAccount *account,
+ gboolean user_initiated)
+{
+ McdAccountPrivate *priv = account->priv;
+
+ mcd_account_request_presence_int (account,
+ priv->req_presence_type,
+ priv->req_presence_status,
+ priv->req_presence_message,
+ user_initiated);
+}
+
void
_mcd_account_connect (McdAccount *account, GHashTable *params)
{
@@ -1210,11 +1229,7 @@ _mcd_account_set_enabled (McdAccount *account,
if (enabled)
{
- mcd_account_request_presence_int (account,
- priv->req_presence_type,
- priv->req_presence_status,
- priv->req_presence_message,
- TRUE);
+ mcd_account_rerequest_presence (account, TRUE);
_mcd_account_maybe_autoconnect (account);
}
}
@@ -3965,11 +3980,7 @@ check_validity_check_parameters_cb (McdAccount *account,
/* Newly valid - try setting requested presence again.
* This counts as user-initiated, because the user caused the
* account to become valid somehow. */
- mcd_account_request_presence_int (account,
- priv->req_presence_type,
- priv->req_presence_status,
- priv->req_presence_message,
- TRUE);
+ mcd_account_rerequest_presence (account, TRUE);
}
}