[Telepathy-commits] [telepathy-gabble/master] Send <streamhost-used> when connected to a streamhost

Marco Barisione marco at barisione.org
Tue Jan 6 08:41:23 PST 2009


---
 src/bytestream-socks5.c |   20 +++++++++++++++++++-
 1 files changed, 19 insertions(+), 1 deletions(-)

diff --git a/src/bytestream-socks5.c b/src/bytestream-socks5.c
index ba55884..fadf675 100644
--- a/src/bytestream-socks5.c
+++ b/src/bytestream-socks5.c
@@ -442,6 +442,7 @@ socks5_handle_received_data (GabbleBytestreamSocks5 *self,
 {
   GabbleBytestreamSocks5Private *priv = GABBLE_BYTESTREAM_SOCKS5_GET_PRIVATE (self);
   gchar msg[47] = {'\0'};
+  LmMessage *iq_result;
 
   switch (priv->socks5_state)
     {
@@ -480,7 +481,24 @@ socks5_handle_received_data (GabbleBytestreamSocks5 *self,
 
         priv->socks5_state = SOCKS5_STATE_CONNECTED;
 
-        _gabble_connection_acknowledge_set_iq (priv->conn, priv->msg_for_acknowledge_connection);
+        iq_result = lm_iq_message_make_result (priv->msg_for_acknowledge_connection);
+        if (NULL != iq_result)
+          {
+            LmMessageNode *node;
+            Streamhost *current_streamhost;
+
+            node = lm_message_node_add_child (iq_result->node, "query", "");
+            lm_message_node_set_attribute (node, "xmlns", NS_BYTESTREAMS);
+
+            node = lm_message_node_add_child (node, "streamhost-used", "");
+            /* FIXME: proper error handling */
+            g_assert (priv->streamhosts);
+            current_streamhost = priv->streamhosts->data;
+            lm_message_node_set_attribute (node, "jid", current_streamhost->jid);
+
+            _gabble_connection_send (priv->conn, iq_result, NULL);
+            lm_message_unref (iq_result);
+          }
 
         return 2;
 
-- 
1.5.6.5




More information about the Telepathy-commits mailing list