static void sig_presence_changed(XMPP_SERVER_REC *server, const char *full_jid, int show, const char *status) { XMPP_ROSTER_USER_REC *user; WINDOW_REC *window; const char *msg; char *name; g_return_if_fail(IS_XMPP_SERVER(server)); g_return_if_fail(full_jid != NULL); g_return_if_fail(0 <= show && show < XMPP_PRESENCE_SHOW_LEN); window = fe_xmpp_status_get_window(server); msg = fe_xmpp_presence_show[show]; user = rosters_find_user(server->roster, full_jid, NULL, NULL); name = user != NULL && user->name != NULL ? format_get_text(MODULE_NAME, NULL, server, NULL, XMPPTXT_FORMAT_NAME, user->name, full_jid) : format_get_text(MODULE_NAME, NULL, server, NULL, XMPPTXT_FORMAT_JID, full_jid); if (status != NULL) printformat_module_window(MODULE_NAME, window, MSGLEVEL_CRAP, XMPPTXT_PRESENCE_CHANGE_REASON, name, msg, status); else printformat_module_window(MODULE_NAME, window, MSGLEVEL_CRAP, XMPPTXT_PRESENCE_CHANGE, name, msg); g_free(name); }
static void sig_server_connecting(XMPP_SERVER_REC *server) { if (!IS_XMPP_SERVER(server)) return; if (settings_get_bool("xmpp_status_window")) fe_xmpp_status_get_window(server); }
static void sig_unsubscribed(XMPP_SERVER_REC *server, const char *jid) { XMPP_ROSTER_USER_REC *user; char *name; g_return_if_fail(IS_SERVER(server)); g_return_if_fail(jid != NULL); user = rosters_find_user(server->roster, jid, NULL, NULL); name = user != NULL && user->name != NULL ? format_get_text(MODULE_NAME, NULL, server, NULL, XMPPTXT_FORMAT_NAME, user->name, jid) : format_get_text(MODULE_NAME, NULL, server, NULL, XMPPTXT_FORMAT_JID, jid); if (settings_get_bool("xmpp_status_window")) printformat_module_window(MODULE_NAME, fe_xmpp_status_get_window(server), MSGLEVEL_CRAP, XMPPTXT_UNSUBSCRIBED, name); else printformat_module(MODULE_NAME, server, NULL, MSGLEVEL_CRAP, XMPPTXT_UNSUBSCRIBED, name); g_free(name); }