1
1
mirror of https://github.com/profanity-im/profanity.git synced 2025-02-02 15:08:15 -05:00

db: add dedicated chat, muc, muc pm logging functions

This commit is contained in:
Michael Vetter 2020-03-28 00:18:13 +01:00
parent a4b53550ca
commit 628b86f57e
3 changed files with 30 additions and 9 deletions

View File

@ -45,6 +45,9 @@
static sqlite3 *g_chatlog_database; static sqlite3 *g_chatlog_database;
static void _add_incoming(ProfMessage *message, const char * const type);
static char* _get_db_filename(ProfAccount *account);
static char* static char*
_get_db_filename(ProfAccount *account) _get_db_filename(ProfAccount *account)
{ {
@ -154,7 +157,23 @@ log_database_close(void)
} }
void void
log_database_add(ProfMessage *message, const char *const type) { log_database_add_incoming_chat(ProfMessage *message) {
_add_incoming(message, "chat");
}
void
log_database_add_incoming_muc(ProfMessage *message) {
_add_incoming(message, "muc");
}
void
log_database_add_incoming_muc_pm(ProfMessage *message) {
_add_incoming(message, "mucpm");
}
static void
_add_incoming(ProfMessage *message, const char * const type)
{
if (!g_chatlog_database) { if (!g_chatlog_database) {
log_debug("log_database_add() called but db is not initialized"); log_debug("log_database_add() called but db is not initialized");
return; return;

View File

@ -41,7 +41,9 @@
#include "xmpp/xmpp.h" #include "xmpp/xmpp.h"
gboolean log_database_init(ProfAccount *account); gboolean log_database_init(ProfAccount *account);
void log_database_add(ProfMessage *message, const char *const type); void log_database_add_incoming_chat(ProfMessage *message);
void log_database_add_incoming_muc(ProfMessage *message);
void log_database_add_incoming_muc_pm(ProfMessage *message);
void log_database_close(void); void log_database_close(void);
#endif // DATABASE_H #endif // DATABASE_H

View File

@ -327,7 +327,7 @@ sv_ev_room_message(ProfMessage *message)
GList *triggers = prefs_message_get_triggers(message->plain); GList *triggers = prefs_message_get_triggers(message->plain);
_clean_incoming_message(message); _clean_incoming_message(message);
log_database_add(message, "muc"); log_database_add_incoming_muc(message);
mucwin_incoming_msg(mucwin, message, mentions, triggers, TRUE); mucwin_incoming_msg(mucwin, message, mentions, triggers, TRUE);
g_slist_free(mentions); g_slist_free(mentions);
@ -401,7 +401,7 @@ sv_ev_incoming_private_message(ProfMessage *message)
} }
_clean_incoming_message(message); _clean_incoming_message(message);
log_database_add(message, "mucpm"); log_database_add_incoming_muc_pm(message);
privwin_incoming_msg(privatewin, message); privwin_incoming_msg(privatewin, message);
chat_log_msg_in(message); chat_log_msg_in(message);
@ -537,7 +537,7 @@ _sv_ev_incoming_pgp(ProfChatWin *chatwin, gboolean new_win, ProfMessage *message
if (message->plain) { if (message->plain) {
message->enc = PROF_MSG_ENC_PGP; message->enc = PROF_MSG_ENC_PGP;
_clean_incoming_message(message); _clean_incoming_message(message);
log_database_add(message, "chat"); log_database_add_incoming_chat(message);
chatwin_incoming_msg(chatwin, message, new_win); chatwin_incoming_msg(chatwin, message, new_win);
if (logit) { if (logit) {
chat_log_pgp_msg_in(message); chat_log_pgp_msg_in(message);
@ -553,7 +553,7 @@ _sv_ev_incoming_pgp(ProfChatWin *chatwin, gboolean new_win, ProfMessage *message
message->enc = PROF_MSG_ENC_NONE; message->enc = PROF_MSG_ENC_NONE;
message->plain = strdup(message->body); message->plain = strdup(message->body);
_clean_incoming_message(message); _clean_incoming_message(message);
log_database_add(message, "chat"); log_database_add_incoming_chat(message);
chatwin_incoming_msg(chatwin, message, new_win); chatwin_incoming_msg(chatwin, message, new_win);
chat_log_msg_in(message); chat_log_msg_in(message);
chatwin->pgp_recv = FALSE; chatwin->pgp_recv = FALSE;
@ -576,7 +576,7 @@ _sv_ev_incoming_otr(ProfChatWin *chatwin, gboolean new_win, ProfMessage *message
} }
_clean_incoming_message(message); _clean_incoming_message(message);
log_database_add(message, "chat"); log_database_add_incoming_chat(message);
chatwin_incoming_msg(chatwin, message, new_win); chatwin_incoming_msg(chatwin, message, new_win);
chat_log_otr_msg_in(message); chat_log_otr_msg_in(message);
@ -592,7 +592,7 @@ static void
_sv_ev_incoming_omemo(ProfChatWin *chatwin, gboolean new_win, ProfMessage *message, gboolean logit) _sv_ev_incoming_omemo(ProfChatWin *chatwin, gboolean new_win, ProfMessage *message, gboolean logit)
{ {
_clean_incoming_message(message); _clean_incoming_message(message);
log_database_add(message, "chat"); log_database_add_incoming_chat(message);
chatwin_incoming_msg(chatwin, message, new_win); chatwin_incoming_msg(chatwin, message, new_win);
if (logit) { if (logit) {
chat_log_omemo_msg_in(message); chat_log_omemo_msg_in(message);
@ -608,7 +608,7 @@ _sv_ev_incoming_plain(ProfChatWin *chatwin, gboolean new_win, ProfMessage *messa
message->enc = PROF_MSG_ENC_NONE; message->enc = PROF_MSG_ENC_NONE;
message->plain = strdup(message->body); message->plain = strdup(message->body);
_clean_incoming_message(message); _clean_incoming_message(message);
log_database_add(message, "chat"); log_database_add_incoming_chat(message);
chatwin_incoming_msg(chatwin, message, new_win); chatwin_incoming_msg(chatwin, message, new_win);
if (logit) { if (logit) {
chat_log_msg_in(message); chat_log_msg_in(message);