/soc/2015/koosha/main: ab6afae4ec38: Implement a function for se...
Koosha Khajehmoogahi <[email protected]>
| Newsgroups | gmane.comp.gnome.gaim.cvs |
|---|---|
| Message-ID | <[email protected]> |
Changeset: ab6afae4ec38e88426a33e2075bb519d2c6c30a7 Author: Koosha Khajehmoogahi <[email protected]> Date: 2015-08-18 01:46 +0200 Branch: default URL: https://hg.pidgin.im/soc/2015/koosha/main/rev/ab6afae4ec38 Description: Implement a function for sending <resume/> packets diffstat: libpurple/protocols/jabber/sm.c | 21 +++++++++++++++++++++ libpurple/protocols/jabber/sm.h | 1 + 2 files changed, 22 insertions(+), 0 deletions(-) diffs (41 lines): 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 @@ -108,6 +108,27 @@ void jabber_stream_management_send_ack(J purple_xmlnode_free(ack); } +void jabber_stream_management_send_resume(JabberStream *js) +{ + PurpleXmlNode *resume; + gchar *h, *previd; + + resume = purple_xmlnode_new("resume"); + h = g_strdup_printf("%d", js->sm->stanzas_recvd); + purple_xmlnode_set_attrib(resume, "h", h); + g_free(h); + + previd = purple_account_get_string(purple_connection_get_account(js->gc), "sm_id", NULL); + if (previd == NULL) + return; + + purple_xmlnode_set_attrib(resume, "previd", previd); + g_free(previd); + + purple_xmlnode_set_namespace(resume, NS_XMPP_SM); + jabber_send(js, resume); + purple_xmlnode_free(resume); +} static void send_ack_request(JabberStream *js) { 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 @@ -49,5 +49,6 @@ void jabber_stream_management_incr_outbo void jabber_stream_management_parse(JabberStream *js, PurpleXmlNode *packet); 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); #endif /* PURPLE_JABBER_SM_H_ */ _______________________________________________ Commits mailing list [email protected] https://pidgin.im/cgi-bin/mailman/listinfo/commits