comparison libpurple/protocols/jabber/bosh.c @ 25613:480736bfcf45

* removing some comment with XML example * reporting error back to UI on session termination by connection manager
author Tobias Markmann <tfar@soc.pidgin.im>
date Mon, 18 Aug 2008 16:20:46 +0000
parents 8badac6cc7c9
children 94ccccab4e98
comparison
equal deleted inserted replaced
25612:8badac6cc7c9 25613:480736bfcf45
55 jabber_bosh_http_connection_init(conn->conn_a, conn->account, conn->host, conn->port); 55 jabber_bosh_http_connection_init(conn->conn_a, conn->account, conn->host, conn->port);
56 conn->conn_a->userdata = conn; 56 conn->conn_a->userdata = conn;
57 } 57 }
58 58
59 void jabber_bosh_connection_stream_restart(PurpleBOSHConnection *conn) { 59 void jabber_bosh_connection_stream_restart(PurpleBOSHConnection *conn) {
60 /*
61 <body rid='1573741824'
62 sid='SomeSID'
63 to='jabber.org'
64 xml:lang='en'
65 xmpp:restart='true'
66 xmlns='http://jabber.org/protocol/httpbind'
67 xmlns:xmpp='urn:xmpp:xbosh'/>
68 */
69 xmlnode *restart = xmlnode_new("body"); 60 xmlnode *restart = xmlnode_new("body");
70 char *tmp = NULL; 61 char *tmp = NULL;
71 conn->rid++; 62 conn->rid++;
72 xmlnode_set_attrib(restart, "rid", tmp = g_strdup_printf("%d", conn->rid)); 63 xmlnode_set_attrib(restart, "rid", tmp = g_strdup_printf("%d", conn->rid));
73 g_free(tmp); 64 g_free(tmp);
87 if (!node) return; 78 if (!node) return;
88 type = xmlnode_get_attrib(node, "type"); 79 type = xmlnode_get_attrib(node, "type");
89 80
90 if (type != NULL && !strcmp(type, "terminate")) { 81 if (type != NULL && !strcmp(type, "terminate")) {
91 conn->ready = FALSE; 82 conn->ready = FALSE;
83 purple_connection_error_reason (conn->js->gc,
84 PURPLE_CONNECTION_ERROR_OTHER_ERROR,
85 _("The BOSH conncetion manager suggested to terminate your session."));
92 return TRUE; 86 return TRUE;
93 } 87 }
94 return FALSE; 88 return FALSE;
95 } 89 }
96 90