From: Luke S. <lsc...@us...> - 2004-05-21 14:33:43
|
Update of /cvsroot/gaim/gaim/plugins In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv793/plugins Modified Files: gaiminc.c notify.c signals-test.c Log Message: " This patch renames the existing received-*-msg signals to receiving-*msg to fit the naming of other signals where a pointer to the message is passed (writing, sending, displaying) It adds new received-*-msg signals which are emitted after the receiving signals, in line with the other conversation signals (wrote, sent, displayed) This is necessary to allow plugins which depend on the final received message to work alongside plugins which may modify the message. One known example of this is festival-gaim alongside gaim-encryption - festival-gaim would try to "speak" the encrypted text: http://sf.net/tracker/?func=detail&aid=943216&group_id=89763&atid=591320 I've tested this with gaim-encryption and festival-gaim (locally modified so gaim-encryption uses the receiving signal and festival uses the received signal) All in-tree users of received-*-msg are updated to use receiving-*-msg if they do modify the message, the conversation-signals documentation is updated, the signals-test.c & signal-test.tcl plugins are also updated." --Stu Tomlinson Index: gaiminc.c =================================================================== RCS file: /cvsroot/gaim/gaim/plugins/gaiminc.c,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -p -r1.16 -r1.17 --- gaiminc.c 22 Apr 2004 01:53:01 -0000 1.16 +++ gaiminc.c 21 May 2004 14:33:31 -0000 1.17 @@ -64,7 +64,7 @@ plugin_load(GaimPlugin *plugin) plugin, GAIM_CALLBACK(echo_hi), NULL); /* this is for doing something fun when we get a message */ - gaim_signal_connect(gaim_conversations_get_handle(), "received-im-msg", + gaim_signal_connect(gaim_conversations_get_handle(), "receiving-im-msg", plugin, GAIM_CALLBACK(reverse), NULL); /* this is for doing something fun when a buddy comes online */ Index: notify.c =================================================================== RCS file: /cvsroot/gaim/gaim/plugins/notify.c,v retrieving revision 1.50 retrieving revision 1.51 diff -u -d -p -r1.50 -r1.51 --- notify.c 21 May 2004 00:32:32 -0000 1.50 +++ notify.c 21 May 2004 14:33:31 -0000 1.51 @@ -231,7 +231,7 @@ renotify(GaimConvWindow *gaimwin) } static gboolean -chat_recv_im(GaimAccount *account, char **who, char **text, int id, void *m) +chat_recv_im(GaimAccount *account, char *who, char *text, int id, void *m) { GaimConversation *conv = gaim_find_chat(gaim_account_get_connection(account), id); @@ -253,9 +253,9 @@ chat_sent_im(GaimAccount *account, char } static gboolean -im_recv_im(GaimAccount *account, char **who, char **what, int *flags, void *m) +im_recv_im(GaimAccount *account, char *who, char *what, int flags, void *m) { - GaimConversation *conv = gaim_find_conversation_with_account(*who, account); + GaimConversation *conv = gaim_find_conversation_with_account(who, account); notify(conv, TRUE); Index: signals-test.c =================================================================== RCS file: /cvsroot/gaim/gaim/plugins/signals-test.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -p -r1.10 -r1.11 --- signals-test.c 21 May 2004 00:32:33 -0000 1.10 +++ signals-test.c 21 May 2004 14:33:31 -0000 1.11 @@ -108,6 +108,19 @@ buddy_signed_off_cb(GaimBuddy *buddy, vo gaim_debug_misc("signals test", "buddy-signed-off (%s)\n", buddy->name); } +static void +buddy_extended_menu_cb(GaimBuddy *buddy, void *data) +{ + gaim_debug_misc("signals test", "buddy-extended-menu (%s)\n", buddy->name); +} + +static void +group_extended_menu_cb(GaimGroup *group, void *data) +{ + gaim_debug_misc("signals test", "group-extended-menu (%s)\n", group->name); +} + + /************************************************************************** * Connection subsystem signal callbacks **************************************************************************/ @@ -175,16 +188,25 @@ sent_im_msg_cb(GaimAccount *account, con } static gboolean -received_im_msg_cb(GaimAccount *account, char **sender, char **buffer, +receiving_im_msg_cb(GaimAccount *account, char **sender, char **buffer, int *flags, void *data) { - gaim_debug_misc("signals test", "received-im-msg (%s, %s, %s, %d)\n", + gaim_debug_misc("signals test", "receiving-im-msg (%s, %s, %s, %d)\n", gaim_account_get_username(account), *sender, *buffer, *flags); return FALSE; } +static void +received_im_msg_cb(GaimAccount *account, char *sender, char *buffer, + int flags, void *data) +{ + gaim_debug_misc("signals test", "received-im-msg (%s, %s, %s, %d)\n", + gaim_account_get_username(account), sender, buffer, + flags); +} + static gboolean displaying_chat_msg_cb(GaimAccount *account, GaimConversation *conv, char **buffer, void *data) @@ -219,11 +241,11 @@ sent_chat_msg_cb(GaimAccount *account, c } static gboolean -received_chat_msg_cb(GaimAccount *account, char **sender, char **buffer, +receiving_chat_msg_cb(GaimAccount *account, char **sender, char **buffer, GaimConversation *chat, void *data) { gaim_debug_misc("signals test", - "received-chat-msg (%s, %s, %s, %s, %s)\n", + "receiving-chat-msg (%s, %s, %s, %s)\n", gaim_account_get_username(account), *sender, *buffer, gaim_conversation_get_name(chat)); @@ -231,6 +253,16 @@ received_chat_msg_cb(GaimAccount *accoun } static void +received_chat_msg_cb(GaimAccount *account, char *sender, char *buffer, + GaimConversation *chat, void *data) +{ + gaim_debug_misc("signals test", + "received-chat-msg (%s, %s, %s, %s)\n", + gaim_account_get_username(account), sender, buffer, + gaim_conversation_get_name(chat)); +} + +static void conversation_switching_cb(GaimConversation *old_conv, GaimConversation *new_conv, void *data) { @@ -384,6 +416,10 @@ plugin_load(GaimPlugin *plugin) plugin, GAIM_CALLBACK(buddy_signed_on_cb), NULL); gaim_signal_connect(blist_handle, "buddy-signed-off", plugin, GAIM_CALLBACK(buddy_signed_off_cb), NULL); + gaim_signal_connect(blist_handle, "buddy-extended-menu", + plugin, GAIM_CALLBACK(buddy_extended_menu_cb), NULL); + gaim_signal_connect(blist_handle, "group-extended-menu", + plugin, GAIM_CALLBACK(group_extended_menu_cb), NULL); /* Connection subsystem signals */ gaim_signal_connect(conn_handle, "signing-on", @@ -404,6 +440,8 @@ plugin_load(GaimPlugin *plugin) plugin, GAIM_CALLBACK(sending_im_msg_cb), NULL); gaim_signal_connect(conv_handle, "sent-im-msg", plugin, GAIM_CALLBACK(sent_im_msg_cb), NULL); + gaim_signal_connect(conv_handle, "receiving-im-msg", + plugin, GAIM_CALLBACK(receiving_im_msg_cb), NULL); gaim_signal_connect(conv_handle, "received-im-msg", plugin, GAIM_CALLBACK(received_im_msg_cb), NULL); gaim_signal_connect(conv_handle, "displaying-chat-msg", @@ -414,6 +452,8 @@ plugin_load(GaimPlugin *plugin) plugin, GAIM_CALLBACK(sending_chat_msg_cb), NULL); gaim_signal_connect(conv_handle, "sent-chat-msg", plugin, GAIM_CALLBACK(sent_chat_msg_cb), NULL); + gaim_signal_connect(conv_handle, "receiving-chat-msg", + plugin, GAIM_CALLBACK(receiving_chat_msg_cb), NULL); gaim_signal_connect(conv_handle, "received-chat-msg", plugin, GAIM_CALLBACK(received_chat_msg_cb), NULL); gaim_signal_connect(conv_handle, "conversation-switching", |