From 47a1a62009d411002d4e3b1d6eefd55ba2fe1011 Mon Sep 17 00:00:00 2001 From: James Booth Date: Sun, 28 Aug 2016 22:42:09 +0100 Subject: Add sv_ev_bookmark_autojoin --- src/event/server_events.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'src/event/server_events.c') diff --git a/src/event/server_events.c b/src/event/server_events.c index 1b935c6a..d271ec55 100644 --- a/src/event/server_events.c +++ b/src/event/server_events.c @@ -1079,3 +1079,25 @@ sv_ev_lastactivity_response(const char *const from, const int seconds, const cha g_free(date_fmt); jid_destroy(jidp); } + +void +sv_ev_bookmark_autojoin(Bookmark *bookmark) +{ + char *nick = NULL; + if (bookmark->nick) { + nick = strdup(bookmark->nick); + } else { + char *account_name = session_get_account_name(); + ProfAccount *account = accounts_get_account(account_name); + nick = strdup(account->muc_nick); + account_free(account); + } + + log_debug("Autojoin %s with nick=%s", bookmark->barejid, nick); + if (!muc_active(bookmark->barejid)) { + presence_join_room(bookmark->barejid, nick, bookmark->password); + muc_join(bookmark->barejid, nick, bookmark->password, TRUE); + } + + free(nick); +} -- cgit 1.4.1-2-gfad0