diff options
author | Will Thompson <will.thompson@collabora.co.uk> | 2012-11-27 14:45:13 +0000 |
---|---|---|
committer | Will Thompson <will.thompson@collabora.co.uk> | 2012-11-27 15:11:05 +0000 |
commit | 0a7fd199e0ce6b1e67fc18cdae023c9ce9b608b4 (patch) | |
tree | e581f10e38192b8373858561089ba12189eba2e7 /src | |
parent | ecee60dfc33f05e56eb2d2b34faf188943ff8931 (diff) |
jingle-session: tidy up sending content-reject in idle
Diffstat (limited to 'src')
-rw-r--r-- | src/jingle-session.c | 29 |
1 files changed, 11 insertions, 18 deletions
diff --git a/src/jingle-session.c b/src/jingle-session.c index 0e266b92d..c26d06fa3 100644 --- a/src/jingle-session.c +++ b/src/jingle-session.c @@ -791,31 +791,17 @@ _foreach_content (GabbleJingleSession *sess, struct idle_content_reject_ctx { GabbleJingleSession *session; - gchar *creator; - gchar *name; + WockyStanza *msg; }; static gboolean idle_content_reject (gpointer data) { - WockyStanza *msg; - WockyNode *sess_node, *node; struct idle_content_reject_ctx *ctx = data; - msg = gabble_jingle_session_new_message (ctx->session, - JINGLE_ACTION_CONTENT_REJECT, &sess_node); - - g_debug ("name = %s, intiiator = %s", ctx->name, ctx->creator); - - node = wocky_node_add_child_with_content (sess_node, "content", NULL); - wocky_node_set_attributes (node, - "name", ctx->name, "creator", ctx->creator, NULL); - - gabble_jingle_session_send (ctx->session, msg); + gabble_jingle_session_send (ctx->session, ctx->msg); g_object_unref (ctx->session); - g_free (ctx->name); - g_free (ctx->creator); g_free (ctx); return FALSE; @@ -826,13 +812,20 @@ fire_idle_content_reject (GabbleJingleSession *sess, const gchar *name, const gchar *creator) { struct idle_content_reject_ctx *ctx = g_new0 (struct idle_content_reject_ctx, 1); + WockyNode *sess_node, *node; if (creator == NULL) creator = ""; ctx->session = g_object_ref (sess); - ctx->name = g_strdup (name); - ctx->creator = g_strdup (creator); + ctx->msg = gabble_jingle_session_new_message (ctx->session, + JINGLE_ACTION_CONTENT_REJECT, &sess_node); + + g_debug ("name = %s, initiator = %s", name, creator); + + node = wocky_node_add_child_with_content (sess_node, "content", NULL); + wocky_node_set_attributes (node, + "name", name, "creator", creator, NULL); /* FIXME: add API for ordering IQs rather than using g_idle_add. */ g_idle_add (idle_content_reject, ctx); |