From be4ee40ed4566680b15385f6fc736402612e8812 Mon Sep 17 00:00:00 2001 From: James Booth Date: Sat, 2 May 2015 23:23:12 +0100 Subject: Pass ProfChatWin to otr_on_message_send --- src/otr/otr.c | 46 ++++++++++++++++++---------------------------- src/otr/otr.h | 11 ++--------- 2 files changed, 20 insertions(+), 37 deletions(-) (limited to 'src/otr') diff --git a/src/otr/otr.c b/src/otr/otr.c index 46ad491c..ae8ed006 100644 --- a/src/otr/otr.c +++ b/src/otr/otr.c @@ -313,43 +313,43 @@ otr_on_message_recv(const char * const barejid, const char * const resource, con otr_free_message(decrypted); } -prof_otrsendres_t -otr_on_message_send(const char * const barejid, const char * const message) +void +otr_on_message_send(ProfChatWin *chatwin, const char * const message) { char *id = NULL; - prof_otrpolicy_t policy = otr_get_policy(barejid); + prof_otrpolicy_t policy = otr_get_policy(chatwin->barejid); - if (otr_is_secure(barejid)) { - char *encrypted = otr_encrypt_message(barejid, message); + if (otr_is_secure(chatwin->barejid)) { + char *encrypted = otr_encrypt_message(chatwin->barejid, message); if (encrypted) { - id = message_send_chat_encrypted(barejid, encrypted); - chat_log_otr_msg_out(barejid, message); - ui_outgoing_chat_msg(barejid, message, id); + id = message_send_chat_encrypted(chatwin->barejid, encrypted); + chat_log_otr_msg_out(chatwin->barejid, message); + ui_outgoing_chat_msg(chatwin->barejid, message, id); otr_free_message(encrypted); } else { - return PROF_OTRENCFAIL; + ui_win_error_line((ProfWin*)chatwin, "Failed to encrypt and send message."); + return; } } else if (policy == PROF_OTRPOLICY_ALWAYS) { - return PROF_OTRPOLICYFAIL; + ui_win_error_line((ProfWin*)chatwin, "Failed to send message. OTR policy set to: always"); + return; } else if (policy == PROF_OTRPOLICY_OPPORTUNISTIC) { char *otr_tagged_msg = otr_tag_message(message); - id = message_send_chat_encrypted(barejid, otr_tagged_msg); - ui_outgoing_chat_msg(barejid, message, id); - chat_log_msg_out(barejid, message); + id = message_send_chat_encrypted(chatwin->barejid, otr_tagged_msg); + ui_outgoing_chat_msg(chatwin->barejid, message, id); + chat_log_msg_out(chatwin->barejid, message); free(otr_tagged_msg); } else { - id = message_send_chat(barejid, message); - ui_outgoing_chat_msg(barejid, message, id); - chat_log_msg_out(barejid, message); + id = message_send_chat(chatwin->barejid, message); + ui_outgoing_chat_msg(chatwin->barejid, message, id); + chat_log_msg_out(chatwin->barejid, message); } free(id); - - return PROF_OTRSUCCESS; } void @@ -743,16 +743,6 @@ otr_decrypt_message(const char * const from, const char * const message, gboolea } } -char* -otr_senderror_str(prof_otrsendres_t res) -{ - switch (res) { - case PROF_OTRENCFAIL: return "Failed to encrypt and send message."; - case PROF_OTRPOLICYFAIL: return "Failed to send message. OTR policy set to: always"; - default: return "Unknown OTR error."; - } -} - void otr_free_message(char *message) { diff --git a/src/otr/otr.h b/src/otr/otr.h index 6f1103df..e020c0c8 100644 --- a/src/otr/otr.h +++ b/src/otr/otr.h @@ -39,6 +39,7 @@ #include #include "config/accounts.h" +#include "ui/window.h" typedef enum { PROF_OTRPOLICY_MANUAL, @@ -46,12 +47,6 @@ typedef enum { PROF_OTRPOLICY_ALWAYS } prof_otrpolicy_t; -typedef enum { - PROF_OTRENCFAIL, - PROF_OTRPOLICYFAIL, - PROF_OTRSUCCESS -} prof_otrsendres_t; - OtrlUserState otr_userstate(void); OtrlMessageAppOps* otr_messageops(void); GHashTable* otr_smpinitators(void); @@ -64,7 +59,7 @@ void otr_poll(void); void otr_on_connect(ProfAccount *account); void otr_on_message_recv(const char * const barejid, const char * const resource, const char * const message); -prof_otrsendres_t otr_on_message_send(const char * const barejid, const char * const message); +void otr_on_message_send(ProfChatWin *chatwin, const char * const message); void otr_keygen(ProfAccount *account); @@ -94,6 +89,4 @@ void otr_free_message(char *message); prof_otrpolicy_t otr_get_policy(const char * const recipient); -char* otr_senderror_str(prof_otrsendres_t res); - #endif -- cgit 1.4.1-2-gfad0 2'>52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152