[telepathy-gabble/master] jingle-factory.c: use send_with_reply to send the jingle info request
Guillaume Desmottes
guillaume.desmottes at collabora.co.uk
Thu Jul 16 04:25:41 PDT 2009
---
src/jingle-factory.c | 46 ++++++++++++++++++++++++++++++++++------------
1 files changed, 34 insertions(+), 12 deletions(-)
diff --git a/src/jingle-factory.c b/src/jingle-factory.c
index ce4f2eb..2837f27 100644
--- a/src/jingle-factory.c
+++ b/src/jingle-factory.c
@@ -235,19 +235,11 @@ take_stun_server (GabbleJingleFactory *self,
G_OBJECT (self));
}
-/*
- * jingle_info_cb
- *
- * Called by loudmouth when we get an incoming <iq>. This handler
- * is concerned only with Jingle info queries.
- */
+
static LmHandlerResult
-jingle_info_cb (LmMessageHandler *handler,
- LmConnection *lmconn,
- LmMessage *message,
- gpointer user_data)
+got_jingle_info_stanza (GabbleJingleFactory *fac,
+ LmMessage *message)
{
- GabbleJingleFactory *fac = GABBLE_JINGLE_FACTORY (user_data);
GabbleJingleFactoryPrivate *priv = fac->priv;
LmMessageSubType sub_type;
LmMessageNode *query_node, *node;
@@ -404,6 +396,35 @@ jingle_info_cb (LmMessageHandler *handler,
return LM_HANDLER_RESULT_REMOVE_MESSAGE;
}
+/*
+ * jingle_info_cb
+ *
+ * Called by loudmouth when we get an incoming <iq>. This handler
+ * is concerned only with Jingle info queries.
+ */
+static LmHandlerResult
+jingle_info_cb (LmMessageHandler *handler,
+ LmConnection *lmconn,
+ LmMessage *message,
+ gpointer user_data)
+{
+ GabbleJingleFactory *fac = GABBLE_JINGLE_FACTORY (user_data);
+
+ return got_jingle_info_stanza (fac, message);
+}
+
+static LmHandlerResult
+jingle_info_reply_cb (GabbleConnection *conn,
+ LmMessage *sent_msg,
+ LmMessage *reply_msg,
+ GObject *factory_obj,
+ gpointer user_data)
+{
+ GabbleJingleFactory *fac = GABBLE_JINGLE_FACTORY (factory_obj);
+
+ return got_jingle_info_stanza (fac, reply_msg);
+}
+
static void
jingle_info_send_request (GabbleJingleFactory *fac)
{
@@ -423,7 +444,8 @@ jingle_info_send_request (GabbleJingleFactory *fac)
node = lm_message_node_add_child (msg->node, "query", NULL);
lm_message_node_set_attribute (node, "xmlns", NS_GOOGLE_JINGLE_INFO);
- if (!_gabble_connection_send (priv->conn, msg, &error))
+ if (!_gabble_connection_send_with_reply (priv->conn, msg,
+ jingle_info_reply_cb, G_OBJECT (fac), fac, &error))
{
DEBUG ("jingle info send failed: %s\n", error->message);
g_error_free (error);
--
1.5.6.5
More information about the telepathy-commits
mailing list