/pidgin/main: b7328f4317c7: Switch purple_serv_chat_send to Purp...
Tomasz Wasilczyk <[email protected]>
| Newsgroups | gmane.comp.gnome.gaim.cvs |
|---|---|
| Message-ID | <[email protected]> |
Changeset: b7328f4317c736cf443f411a866505072ade5bcc Author: Tomasz Wasilczyk <[email protected]> Date: 2014-05-22 15:53 +0200 Branch: default URL: https://hg.pidgin.im/pidgin/main/rev/b7328f4317c7 Description: Switch purple_serv_chat_send to PurpleMessage diffstat: libpurple/conversation.c | 12 ++++++++---- libpurple/message.c | 3 --- libpurple/protocols/irc/irc.c | 11 +++++++---- libpurple/protocols/jabber/message.c | 6 +++--- libpurple/protocols/jabber/message.h | 2 +- libpurple/protocols/msn/msn.c | 7 ++++--- libpurple/protocols/mxit/multimx.c | 13 ++++++------- libpurple/protocols/mxit/multimx.h | 2 +- libpurple/protocols/novell/novell.c | 10 ++++++---- libpurple/protocols/null/nullprpl.c | 4 ++-- libpurple/protocols/oscar/oscar.c | 3 ++- libpurple/protocols/oscar/oscarcommon.h | 2 +- libpurple/protocols/sametime/sametime.c | 9 +++------ libpurple/protocols/silc/chat.c | 5 +++-- libpurple/protocols/silc/silcpurple.h | 2 +- libpurple/protocols/yahoo/yahoochat.c | 4 +++- libpurple/protocols/yahoo/yahoochat.h | 2 +- libpurple/protocols/zephyr/zephyr.c | 5 +++-- libpurple/prpl.h | 6 ++---- libpurple/server.c | 6 ++++-- libpurple/server.h | 2 +- 21 files changed, 62 insertions(+), 54 deletions(-) diffs (truncated from 482 to 300 lines): diff --git a/libpurple/conversation.c b/libpurple/conversation.c --- a/libpurple/conversation.c +++ b/libpurple/conversation.c @@ -101,6 +101,7 @@ common_send(PurpleConversation *conv, co PurpleAccount *account; PurpleConnection *gc; PurpleConversationPrivate *priv = PURPLE_CONVERSATION_GET_PRIVATE(conv); + PurpleMessage *msg; char *displayed = NULL, *sent = NULL; int err = 0; @@ -133,8 +134,6 @@ common_send(PurpleConversation *conv, co msgflags |= PURPLE_MESSAGE_SEND; if (PURPLE_IS_IM_CONVERSATION(conv)) { - PurpleMessage *msg; - msg = purple_message_new(purple_conversation_get_name(conv), sent, msgflags); @@ -158,12 +157,17 @@ common_send(PurpleConversation *conv, co } else if (PURPLE_IS_CHAT_CONVERSATION(conv)) { int id = purple_chat_conversation_get_id(PURPLE_CHAT_CONVERSATION(conv)); + + msg = purple_message_new(NULL, sent, msgflags); + + /* TODO: use msg! */ purple_signal_emit(purple_conversations_get_handle(), "sending-chat-msg", account, &sent, id); - if (sent != NULL && sent[0] != '\0') { - err = purple_serv_chat_send(gc, id, sent, msgflags); + if (!purple_message_is_empty(msg)) { + err = purple_serv_chat_send(gc, id, msg); + /* TODO: use msg! */ purple_signal_emit(purple_conversations_get_handle(), "sent-chat-msg", account, sent, id); } diff --git a/libpurple/message.c b/libpurple/message.c --- a/libpurple/message.c +++ b/libpurple/message.c @@ -59,9 +59,6 @@ PurpleMessage * purple_message_new(const gchar *who, const gchar *contents, PurpleMessageFlags flags) { - g_return_val_if_fail(who != NULL, NULL); - g_return_val_if_fail(contents != NULL, NULL); - return g_object_new(PURPLE_TYPE_MESSAGE, "who", who, "contents", contents, diff --git a/libpurple/protocols/irc/irc.c b/libpurple/protocols/irc/irc.c --- a/libpurple/protocols/irc/irc.c +++ b/libpurple/protocols/irc/irc.c @@ -51,7 +51,7 @@ static void irc_login_cb(gpointer data, static void irc_ssl_connect_failure(PurpleSslConnection *gsc, PurpleSslErrorType error, gpointer data); static void irc_close(PurpleConnection *gc); static int irc_im_send(PurpleConnection *gc, PurpleMessage *msg); -static int irc_chat_send(PurpleConnection *gc, int id, const char *what, PurpleMessageFlags flags); +static int irc_chat_send(PurpleConnection *gc, int id, PurpleMessage *msg); static void irc_chat_join (PurpleConnection *gc, GHashTable *data); static void irc_input_cb(gpointer data, gint source, PurpleInputCondition cond); static void irc_input_cb_ssl(gpointer data, PurpleSslConnection *gsc, PurpleInputCondition cond); @@ -793,7 +793,7 @@ static void irc_chat_leave (PurpleConnec purple_serv_got_chat_left(gc, id); } -static int irc_chat_send(PurpleConnection *gc, int id, const char *what, PurpleMessageFlags flags) +static int irc_chat_send(PurpleConnection *gc, int id, PurpleMessage *msg) { struct irc_conn *irc = purple_connection_get_protocol_data(gc); PurpleConversation *convo = PURPLE_CONVERSATION(purple_conversations_find_chat(gc, id)); @@ -809,13 +809,16 @@ static int irc_chat_send(PurpleConnectio return irc_parse_cmd(irc, convo->name, what + 1); } #endif - purple_markup_html_to_xhtml(what, NULL, &tmp); + purple_markup_html_to_xhtml(purple_message_get_contents(msg), NULL, &tmp); args[0] = purple_conversation_get_name(convo); args[1] = tmp; irc_cmd_privmsg(irc, "msg", NULL, args); - purple_serv_got_chat_in(gc, id, purple_connection_get_display_name(gc), flags, what, time(NULL)); + /* TODO: use msg */ + purple_serv_got_chat_in(gc, id, purple_connection_get_display_name(gc), + purple_message_get_flags(msg), + purple_message_get_contents(msg), time(NULL)); g_free(tmp); return 0; } diff --git a/libpurple/protocols/jabber/message.c b/libpurple/protocols/jabber/message.c --- a/libpurple/protocols/jabber/message.c +++ b/libpurple/protocols/jabber/message.c @@ -1185,7 +1185,7 @@ int jabber_message_send_im(PurpleConnect return 1; } -int jabber_message_send_chat(PurpleConnection *gc, int id, const char *msg, PurpleMessageFlags flags) +int jabber_message_send_chat(PurpleConnection *gc, int id, PurpleMessage *msg) { JabberChat *chat; JabberMessage *jm; @@ -1193,7 +1193,7 @@ int jabber_message_send_chat(PurpleConne char *xhtml; char *tmp; - if(!msg || !gc) + if (!gc || purple_message_is_empty(msg)) return 0; js = purple_connection_get_protocol_data(gc); @@ -1208,7 +1208,7 @@ int jabber_message_send_chat(PurpleConne jm->to = g_strdup_printf("%s@%s", chat->room, chat->server); jm->id = jabber_get_next_id(jm->js); - tmp = purple_utf8_strip_unprintables(msg); + tmp = purple_utf8_strip_unprintables(purple_message_get_contents(msg)); purple_markup_html_to_xhtml(tmp, &xhtml, &jm->body); g_free(tmp); tmp = jabber_message_smileyfy_xhtml(jm, xhtml); diff --git a/libpurple/protocols/jabber/message.h b/libpurple/protocols/jabber/message.h --- a/libpurple/protocols/jabber/message.h +++ b/libpurple/protocols/jabber/message.h @@ -70,7 +70,7 @@ void jabber_message_send(JabberMessage * void jabber_message_parse(JabberStream *js, PurpleXmlNode *packet); int jabber_message_send_im(PurpleConnection *gc, PurpleMessage *msg); -int jabber_message_send_chat(PurpleConnection *gc, int id, const char *message, PurpleMessageFlags flags); +int jabber_message_send_chat(PurpleConnection *gc, int id, PurpleMessage *msg); unsigned int jabber_send_typing(PurpleConnection *gc, const char *who, PurpleIMTypingState state); diff --git a/libpurple/protocols/msn/msn.c b/libpurple/protocols/msn/msn.c --- a/libpurple/protocols/msn/msn.c +++ b/libpurple/protocols/msn/msn.c @@ -2016,7 +2016,7 @@ msn_chat_leave(PurpleConnection *gc, int } static int -msn_chat_send(PurpleConnection *gc, int id, const char *message, PurpleMessageFlags flags) +msn_chat_send(PurpleConnection *gc, int id, PurpleMessage *pmsg) { PurpleAccount *account; MsnSession *session; @@ -2040,7 +2040,7 @@ msn_chat_send(PurpleConnection *gc, int swboard->flag |= MSN_SB_FLAG_IM; - msn_import_html(message, &msgformat, &msgtext); + msn_import_html(purple_message_get_contents(pmsg), &msgformat, &msgtext); msglen = strlen(msgtext); if ((msglen == 0) || (msglen + strlen(msgformat) + strlen(VERSION) > 1564)) @@ -2060,7 +2060,8 @@ msn_chat_send(PurpleConnection *gc, int g_free(msgformat); g_free(msgtext); - purple_serv_got_chat_in(gc, id, username, flags, message, time(NULL)); + purple_serv_got_chat_in(gc, id, username, purple_message_get_flags(pmsg), + purple_message_get_contents(pmsg), time(NULL)); return 0; } diff --git a/libpurple/protocols/mxit/multimx.c b/libpurple/protocols/mxit/multimx.c --- a/libpurple/protocols/mxit/multimx.c +++ b/libpurple/protocols/mxit/multimx.c @@ -612,18 +612,15 @@ void mxit_chat_leave(PurpleConnection *g * * @param gc The connection object * @param id The chat room ID - * @param message The sent message data - * @param flags The message flags + * @param msg The sent message data * @return Indicates success / failure */ -int mxit_chat_send(PurpleConnection *gc, int id, const char *message, PurpleMessageFlags flags) +int mxit_chat_send(PurpleConnection *gc, int id, PurpleMessage *msg) { struct MXitSession* session = purple_connection_get_protocol_data(gc); struct multimx* multimx = NULL; const char* nickname; - purple_debug_info(MXIT_PLUGIN_ID, "Groupchat %i message send: '%s'\n", id, message); - /* Find matching MultiMX group */ multimx = find_room_by_id(session, id); if (multimx == NULL) { @@ -632,7 +629,8 @@ int mxit_chat_send(PurpleConnection *gc, } /* Send packet to MXit */ - mxit_send_message(session, multimx->roomid, message, TRUE, FALSE); + mxit_send_message(session, multimx->roomid, + purple_message_get_contents(msg), TRUE, FALSE); /* Determine our nickname to display */ if (multimx->nickname) @@ -641,7 +639,8 @@ int mxit_chat_send(PurpleConnection *gc, nickname = purple_account_get_private_alias(purple_connection_get_account(gc)); /* local alias */ /* Display message in chat window */ - purple_serv_got_chat_in(gc, id, nickname, flags, message, time(NULL)); + purple_serv_got_chat_in(gc, id, nickname, purple_message_get_flags(msg), + purple_message_get_contents(msg), time(NULL)); return 0; } diff --git a/libpurple/protocols/mxit/multimx.h b/libpurple/protocols/mxit/multimx.h --- a/libpurple/protocols/mxit/multimx.h +++ b/libpurple/protocols/mxit/multimx.h @@ -99,7 +99,7 @@ void mxit_chat_leave(PurpleConnection *g /* * User has entered a message in a chatroom window, send it to the MXit server. */ -int mxit_chat_send(PurpleConnection *gc, int id, const char *message, PurpleMessageFlags flags); +int mxit_chat_send(PurpleConnection *gc, int id, PurpleMessage *msg); #endif /* _MXIT_MULTIMX_H_ */ diff --git a/libpurple/protocols/novell/novell.c b/libpurple/protocols/novell/novell.c --- a/libpurple/protocols/novell/novell.c +++ b/libpurple/protocols/novell/novell.c @@ -2484,7 +2484,7 @@ novell_chat_invite(PurpleConnection *gc, } static int -novell_chat_send(PurpleConnection * gc, int id, const char *text, PurpleMessageFlags flags) +novell_chat_send(PurpleConnection * gc, int id, PurpleMessage *msg) { NMConference *conference; PurpleChatConversation *chat; @@ -2495,14 +2495,14 @@ novell_chat_send(PurpleConnection * gc, const char *name; char *str, *plain; - if (gc == NULL || text == NULL) + if (gc == NULL || purple_message_is_empty(msg)) return -1; user = purple_connection_get_protocol_data(gc); if (user == NULL) return -1; - plain = purple_unescape_html(text); + plain = purple_unescape_html(purple_message_get_contents(msg)); message = nm_create_message(plain); g_free(plain); @@ -2538,7 +2538,9 @@ novell_chat_send(PurpleConnection * gc, } } - purple_serv_got_chat_in(gc, id, name, flags, text, time(NULL)); + purple_serv_got_chat_in(gc, id, name, + purple_message_get_flags(msg), + purple_message_get_contents(msg), time(NULL)); return 0; } else return -1; diff --git a/libpurple/protocols/null/nullprpl.c b/libpurple/protocols/null/nullprpl.c --- a/libpurple/protocols/null/nullprpl.c +++ b/libpurple/protocols/null/nullprpl.c @@ -858,10 +858,10 @@ static void receive_chat_message(PurpleC time(NULL)); } -static int nullprpl_chat_send(PurpleConnection *gc, int id, const char *message, - PurpleMessageFlags flags) { +static int nullprpl_chat_send(PurpleConnection *gc, int id, PurpleMessage *msg) { const char *username = purple_account_get_username(purple_connection_get_account(gc)); PurpleChatConversation *chat = purple_conversations_find_chat(gc, id); + const gchar *message = purple_message_get_contents(msg); if (chat) { purple_debug_info("nullprpl", diff --git a/libpurple/protocols/oscar/oscar.c b/libpurple/protocols/oscar/oscar.c --- a/libpurple/protocols/oscar/oscar.c +++ b/libpurple/protocols/oscar/oscar.c @@ -4322,7 +4322,7 @@ oscar_chat_leave(PurpleConnection *gc, i oscar_chat_kill(gc, cc); } -int oscar_send_chat(PurpleConnection *gc, int id, const char *message, PurpleMessageFlags flags) +int oscar_send_chat(PurpleConnection *gc, int id, PurpleMessage *msg) { OscarData *od = purple_connection_get_protocol_data(gc); PurpleChatConversation *conv = NULL; @@ -4331,6 +4331,7 @@ int oscar_send_chat(PurpleConnection *gc guint16 charset; char *charsetstr; gsize len; + const gchar *message = purple_message_get_contents(msg); if (!(conv = purple_conversations_find_chat(gc, id))) return -EINVAL; diff --git a/libpurple/protocols/oscar/oscarcommon.h b/libpurple/protocols/oscar/oscarcommon.h --- a/libpurple/protocols/oscar/oscarcommon.h