comparison mcabber/src/jabglue.c @ 1254:401639413340

More jabber:iq:last support... (misc) This is a patch from Michael Scherer to answer iq:last requests, slightly modified.
author Mikael Berthe <mikael@lilotux.net>
date Fri, 22 Jun 2007 19:21:23 +0200
parents f7b9a00c512d
children ceada40bbe20
comparison
equal deleted inserted replaced
1253:eb38963e082f 1254:401639413340
58 static void packethandler(jconn, jpacket); 58 static void packethandler(jconn, jpacket);
59 static void handle_state_events(char* from, xmlnode xmldata); 59 static void handle_state_events(char* from, xmlnode xmldata);
60 60
61 static int evscallback_invitation(eviqs *evp, guint evcontext); 61 static int evscallback_invitation(eviqs *evp, guint evcontext);
62 62
63
63 static void logger(jconn j, int io, const char *buf) 64 static void logger(jconn j, int io, const char *buf)
64 { 65 {
65 scr_LogPrint(LPRINT_DEBUG, "%03s: %s", ((io == 0) ? "OUT" : "IN"), buf); 66 scr_LogPrint(LPRINT_DEBUG, "%03s: %s", ((io == 0) ? "OUT" : "IN"), buf);
66 } 67 }
67 68
319 } 320 }
320 321
321 inline const char *jb_getstatusmsg() 322 inline const char *jb_getstatusmsg()
322 { 323 {
323 return mystatusmsg; 324 return mystatusmsg;
325 }
326
327 inline void update_last_use(void)
328 {
329 iqlast = time(NULL);
324 } 330 }
325 331
326 // insert_entity_capabilities(presence_stanza) 332 // insert_entity_capabilities(presence_stanza)
327 // Entity Capabilities (XEP-0115) 333 // Entity Capabilities (XEP-0115)
328 static void insert_entity_capabilities(xmlnode x) 334 static void insert_entity_capabilities(xmlnode x)
499 if (*msg) 505 if (*msg)
500 mystatusmsg = g_strdup(msg); 506 mystatusmsg = g_strdup(msg);
501 else 507 else
502 mystatusmsg = NULL; 508 mystatusmsg = NULL;
503 } 509 }
510
511 if (!Autoaway)
512 update_last_use();
504 513
505 // Update status line 514 // Update status line
506 scr_UpdateMainStatus(TRUE); 515 scr_UpdateMainStatus(TRUE);
507 } 516 }
508 517
679 #endif 688 #endif
680 689
681 jb_send_msg_no_chatstates: 690 jb_send_msg_no_chatstates:
682 xmlnode_put_attrib(x, "id", msgid); 691 xmlnode_put_attrib(x, "id", msgid);
683 692
693 if (mystatus != invisible)
694 update_last_use();
684 jab_send(jc, x); 695 jab_send(jc, x);
685 xmlnode_free(x); 696 xmlnode_free(x);
686 #if defined JEP0022 697 #if defined JEP0022
687 g_free(nmsgid); 698 g_free(nmsgid);
688 #endif 699 #endif
1843 1854
1844 case JCONN_STATE_ON: 1855 case JCONN_STATE_ON:
1845 scr_LogPrint(LPRINT_LOGNORM, "[Jabber] Communication with the server " 1856 scr_LogPrint(LPRINT_LOGNORM, "[Jabber] Communication with the server "
1846 "established"); 1857 "established");
1847 online = TRUE; 1858 online = TRUE;
1859 update_last_use();
1848 // We set AutoConnection to true after the 1st successful connection 1860 // We set AutoConnection to true after the 1st successful connection
1849 AutoConnection = true; 1861 AutoConnection = true;
1850 break; 1862 break;
1851 1863
1852 case JCONN_STATE_CONNECTING: 1864 case JCONN_STATE_CONNECTING: