summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorWill Thompson <will.thompson@collabora.co.uk>2012-11-27 14:45:13 +0000
committerWill Thompson <will.thompson@collabora.co.uk>2012-11-27 15:11:05 +0000
commit0a7fd199e0ce6b1e67fc18cdae023c9ce9b608b4 (patch)
treee581f10e38192b8373858561089ba12189eba2e7 /src
parentecee60dfc33f05e56eb2d2b34faf188943ff8931 (diff)
jingle-session: tidy up sending content-reject in idle
Diffstat (limited to 'src')
-rw-r--r--src/jingle-session.c29
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);