summaryrefslogtreecommitdiff
path: root/src/mcd-account.c
diff options
context:
space:
mode:
authorSimon McVittie <simon.mcvittie@collabora.co.uk>2014-03-19 18:36:26 +0000
committerSimon McVittie <simon.mcvittie@collabora.co.uk>2014-03-19 18:36:26 +0000
commite1f992dc0dbb0b75684e1a8c981316cfb84809e8 (patch)
tree824dd758957290ca7e6f4023abdf66cacbbdaa4e /src/mcd-account.c
parent404f67814a6bbf71fba965211becbf8cbd9a64af (diff)
parentf3fef7babc1003737455bb1984fcd09442ab53cc (diff)
Merge branch 'master' into next
Conflicts: src/mcd-storage.c
Diffstat (limited to 'src/mcd-account.c')
-rw-r--r--src/mcd-account.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/mcd-account.c b/src/mcd-account.c
index 437b1af6..f28b0a18 100644
--- a/src/mcd-account.c
+++ b/src/mcd-account.c
@@ -3627,6 +3627,9 @@ mcd_account_get_object_path (McdAccount *account)
/*
* Like _mcd_account_dup_parameters(), but return the parameters as they
* would be passed to RequestConnection for the given protocol.
+ *
+ * Returns: A GHashTable with g_strdup'ed keys and tp_g_value_slice_dup'ed
+ * values. Be careful: callers rely on that memory allocation model.
*/
static GHashTable *
mcd_account_coerce_parameters (McdAccount *account,
@@ -5050,6 +5053,13 @@ _mcd_account_connection_begin (McdAccount *account,
ctx->params = mcd_account_coerce_parameters (account, protocol);
g_assert (ctx->params != NULL);
+
+ /* Inject "account-path-suffix" parameter if supported by the protocol */
+ if (tp_protocol_has_param (protocol, "account-path-suffix"))
+ {
+ g_hash_table_insert (ctx->params, g_strdup ("account-path-suffix"),
+ tp_g_value_slice_new_string (account->priv->unique_name));
+ }
g_object_unref (protocol);
_mcd_account_set_connection_status (account,