/soc/2015/koosha/main: e3797065ca3c: Write a draft of <resumed/>...

Koosha Khajehmoogahi <[email protected]>
Newsgroups gmane.comp.gnome.gaim.cvs
Message-ID <[email protected]>
Changeset: e3797065ca3ced1132b622361af69e75f2198677
Author:	 Koosha Khajehmoogahi <[email protected]>
Date:	 2015-08-20 20:32 +0200
Branch:	 default
URL: https://hg.pidgin.im/soc/2015/koosha/main/rev/e3797065ca3c

Description:

Write a draft of <resumed/> packets handler

diffstat:

 libpurple/protocols/jabber/jabber.c |   2 ++
 libpurple/protocols/jabber/sm.c     |  19 +++++++++++++++++++
 libpurple/protocols/jabber/sm.h     |   1 +
 3 files changed, 22 insertions(+), 0 deletions(-)

diffs (48 lines):

diff --git a/libpurple/protocols/jabber/jabber.c b/libpurple/protocols/jabber/jabber.c
--- a/libpurple/protocols/jabber/jabber.c
+++ b/libpurple/protocols/jabber/jabber.c
@@ -396,6 +396,8 @@ void jabber_process_packet(JabberStream 
 		jabber_stream_management_send_ack(js);
 	} else if (purple_strequal(name, "a") && purple_strequal(xmlns, NS_XMPP_SM)) {
 		jabber_stream_management_recv_ack(js, *packet);
+	} else if (purple_strequal(name, "resumed") && purple_strequal(xmlns, NS_XMPP_SM)) {
+		jabber_stream_management_handle_resume(js, *packet);
 	} else {
 		purple_debug_warning("jabber", "Unknown packet: %s\n", name);
 	}
diff --git a/libpurple/protocols/jabber/sm.c b/libpurple/protocols/jabber/sm.c
--- a/libpurple/protocols/jabber/sm.c
+++ b/libpurple/protocols/jabber/sm.c
@@ -229,3 +229,22 @@ void jabber_stream_management_recv_ack(J
 	h_val = g_ascii_strtoll(h, NULL, 10);
 	remove_old_packets_from_buffer(js, h_val);
 }
+
+void jabber_stream_management_handle_resume(JabberStream *js, PurpleXmlNode *packet)
+{
+	char *h, *previd;
+	guint32 h_val, previd_val;
+
+	h = purple_xmlnode_get_attrib(packet, "h");
+	if (h == NULL)
+		return;
+
+	previd = purple_xmlnode_get_attrib(packet, "previd");
+	if (previd == NULL)
+		return;
+
+	h_val = g_ascii_strtoll(h, NULL, 10);
+	previd_val = g_ascii_strtoll(previd, NULL, 10);
+	/* TODO: write stream management resumption code here */
+}
+
diff --git a/libpurple/protocols/jabber/sm.h b/libpurple/protocols/jabber/sm.h
--- a/libpurple/protocols/jabber/sm.h
+++ b/libpurple/protocols/jabber/sm.h
@@ -50,5 +50,6 @@ void jabber_stream_management_parse(Jabb
 void jabber_stream_management_send_ack(JabberStream *js);
 void jabber_stream_management_recv_ack(JabberStream *js, PurpleXmlNode *packet);
 void jabber_stream_management_send_resume(JabberStream *js);
+void jabber_stream_management_handle_resume(JabberStream *js, PurpleXmlNode *packet);
 
 #endif /* PURPLE_JABBER_SM_H_ */

_______________________________________________
Commits mailing list
[email protected]
https://pidgin.im/cgi-bin/mailman/listinfo/commits
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.