📄 signals-test.c
字号:
static voidchat_buddy_joined_cb(PurpleConversation *conv, const char *user, PurpleConvChatBuddyFlags flags, gboolean new_arrival, void *data){ purple_debug_misc("signals test", "chat-buddy-joined (%s, %s, %d, %d)\n", purple_conversation_get_name(conv), user, flags, new_arrival);}static voidchat_buddy_flags_cb(PurpleConversation *conv, const char *user, PurpleConvChatBuddyFlags oldflags, PurpleConvChatBuddyFlags newflags, void *data){ purple_debug_misc("signals test", "chat-buddy-flags (%s, %s, %d, %d)\n", purple_conversation_get_name(conv), user, oldflags, newflags);}static gbooleanchat_buddy_leaving_cb(PurpleConversation *conv, const char *user, const char *reason, void *data){ purple_debug_misc("signals test", "chat-buddy-leaving (%s, %s, %s)\n", purple_conversation_get_name(conv), user, reason); return FALSE;}static voidchat_buddy_left_cb(PurpleConversation *conv, const char *user, const char *reason, void *data){ purple_debug_misc("signals test", "chat-buddy-left (%s, %s, %s)\n", purple_conversation_get_name(conv), user, reason);}static voidchat_inviting_user_cb(PurpleConversation *conv, const char *name, char **reason, void *data){ purple_debug_misc("signals test", "chat-inviting-user (%s, %s, %s)\n", purple_conversation_get_name(conv), name, *reason);}static voidchat_invited_user_cb(PurpleConversation *conv, const char *name, const char *reason, void *data){ purple_debug_misc("signals test", "chat-invited-user (%s, %s, %s)\n", purple_conversation_get_name(conv), name, reason);}static gintchat_invited_cb(PurpleAccount *account, const char *inviter, const char *room_name, const char *message, const GHashTable *components, void *data){ purple_debug_misc("signals test", "chat-invited (%s, %s, %s, %s)\n", purple_account_get_username(account), inviter, room_name, message); return 0;}static voidchat_joined_cb(PurpleConversation *conv, void *data){ purple_debug_misc("signals test", "chat-joined (%s)\n", purple_conversation_get_name(conv));}static voidchat_left_cb(PurpleConversation *conv, void *data){ purple_debug_misc("signals test", "chat-left (%s)\n", purple_conversation_get_name(conv));}static voidchat_topic_changed_cb(PurpleConversation *conv, const char *who, const char *topic, void *data){ purple_debug_misc("signals test", "chat-topic-changed (%s topic changed to: \"%s\" by %s)\n", purple_conversation_get_name(conv), topic, (who) ? who : "unknown");}/************************************************************************** * Ciphers signal callbacks **************************************************************************/static voidcipher_added_cb(PurpleCipher *cipher, void *data) { purple_debug_misc("signals test", "cipher %s added\n", purple_cipher_get_name(cipher));}static voidcipher_removed_cb(PurpleCipher *cipher, void *data) { purple_debug_misc("signals test", "cipher %s removed\n", purple_cipher_get_name(cipher));}/************************************************************************** * Core signal callbacks **************************************************************************/static voidquitting_cb(void *data){ purple_debug_misc("signals test", "quitting ()\n");}/************************************************************************** * File transfer signal callbacks **************************************************************************/static voidft_recv_accept_cb(PurpleXfer *xfer, gpointer data) { purple_debug_misc("signals test", "file receive accepted\n");}static voidft_send_accept_cb(PurpleXfer *xfer, gpointer data) { purple_debug_misc("signals test", "file send accepted\n");}static voidft_recv_start_cb(PurpleXfer *xfer, gpointer data) { purple_debug_misc("signals test", "file receive started\n");}static voidft_send_start_cb(PurpleXfer *xfer, gpointer data) { purple_debug_misc("signals test", "file send started\n");}static voidft_recv_cancel_cb(PurpleXfer *xfer, gpointer data) { purple_debug_misc("signals test", "file receive canceled\n");}static voidft_send_cancel_cb(PurpleXfer *xfer, gpointer data) { purple_debug_misc("signals test", "file send canceled\n");}static voidft_recv_complete_cb(PurpleXfer *xfer, gpointer data) { purple_debug_misc("signals test", "file receive completed\n");}static voidft_send_complete_cb(PurpleXfer *xfer, gpointer data) { purple_debug_misc("signals test", "file send completed\n");}/************************************************************************** * Sound signal callbacks **************************************************************************/static intsound_playing_event_cb(PurpleSoundEventID event, const PurpleAccount *account) { if (account != NULL) purple_debug_misc("signals test", "sound playing event: %d for account: %s\n", event, purple_account_get_username(account)); else purple_debug_misc("signals test", "sound playing event: %d\n", event); return 0;}/************************************************************************** * Plugin stuff **************************************************************************/static gbooleanplugin_load(PurplePlugin *plugin){ void *core_handle = purple_get_core(); void *blist_handle = purple_blist_get_handle(); void *conn_handle = purple_connections_get_handle(); void *conv_handle = purple_conversations_get_handle(); void *accounts_handle = purple_accounts_get_handle(); void *ciphers_handle = purple_ciphers_get_handle(); void *ft_handle = purple_xfers_get_handle(); void *sound_handle = purple_sounds_get_handle(); /* Accounts subsystem signals */ purple_signal_connect(accounts_handle, "account-connecting", plugin, PURPLE_CALLBACK(account_connecting_cb), NULL); purple_signal_connect(accounts_handle, "account-setting-info", plugin, PURPLE_CALLBACK(account_setting_info_cb), NULL); purple_signal_connect(accounts_handle, "account-set-info", plugin, PURPLE_CALLBACK(account_set_info_cb), NULL); purple_signal_connect(accounts_handle, "account-status-changed", plugin, PURPLE_CALLBACK(account_status_changed), NULL); purple_signal_connect(accounts_handle, "account-alias-changed", plugin, PURPLE_CALLBACK(account_alias_changed), NULL); /* Buddy List subsystem signals */ purple_signal_connect(blist_handle, "buddy-status-changed", plugin, PURPLE_CALLBACK(buddy_status_changed_cb), NULL); purple_signal_connect(blist_handle, "buddy-idle-changed", plugin, PURPLE_CALLBACK(buddy_idle_changed_cb), NULL); purple_signal_connect(blist_handle, "buddy-signed-on", plugin, PURPLE_CALLBACK(buddy_signed_on_cb), NULL); purple_signal_connect(blist_handle, "buddy-signed-off", plugin, PURPLE_CALLBACK(buddy_signed_off_cb), NULL); purple_signal_connect(blist_handle, "buddy-added", plugin, PURPLE_CALLBACK(buddy_added_cb), NULL); purple_signal_connect(blist_handle, "buddy-removed", plugin, PURPLE_CALLBACK(buddy_removed_cb), NULL); purple_signal_connect(blist_handle, "buddy-icon-changed", plugin, PURPLE_CALLBACK(buddy_icon_changed_cb), NULL); purple_signal_connect(blist_handle, "blist-node-aliased", plugin, PURPLE_CALLBACK(blist_node_aliased), NULL); purple_signal_connect(blist_handle, "blist-node-extended-menu", plugin, PURPLE_CALLBACK(blist_node_extended_menu_cb), NULL); /* Connection subsystem signals */ purple_signal_connect(conn_handle, "signing-on", plugin, PURPLE_CALLBACK(signing_on_cb), NULL); purple_signal_connect(conn_handle, "signed-on", plugin, PURPLE_CALLBACK(signed_on_cb), NULL); purple_signal_connect(conn_handle, "signing-off", plugin, PURPLE_CALLBACK(signing_off_cb), NULL); purple_signal_connect(conn_handle, "signed-off", plugin, PURPLE_CALLBACK(signed_off_cb), NULL); /* Conversations subsystem signals */ purple_signal_connect(conv_handle, "writing-im-msg", plugin, PURPLE_CALLBACK(writing_im_msg_cb), NULL); purple_signal_connect(conv_handle, "wrote-im-msg", plugin, PURPLE_CALLBACK(wrote_im_msg_cb), NULL); purple_signal_connect(conv_handle, "sending-im-msg", plugin, PURPLE_CALLBACK(sending_im_msg_cb), NULL); purple_signal_connect(conv_handle, "sent-im-msg", plugin, PURPLE_CALLBACK(sent_im_msg_cb), NULL); purple_signal_connect(conv_handle, "receiving-im-msg", plugin, PURPLE_CALLBACK(receiving_im_msg_cb), NULL); purple_signal_connect(conv_handle, "received-im-msg", plugin, PURPLE_CALLBACK(received_im_msg_cb), NULL); purple_signal_connect(conv_handle, "writing-chat-msg", plugin, PURPLE_CALLBACK(writing_chat_msg_cb), NULL); purple_signal_connect(conv_handle, "wrote-chat-msg", plugin, PURPLE_CALLBACK(wrote_chat_msg_cb), NULL); purple_signal_connect(conv_handle, "sending-chat-msg", plugin, PURPLE_CALLBACK(sending_chat_msg_cb), NULL); purple_signal_connect(conv_handle, "sent-chat-msg", plugin, PURPLE_CALLBACK(sent_chat_msg_cb), NULL); purple_signal_connect(conv_handle, "receiving-chat-msg", plugin, PURPLE_CALLBACK(receiving_chat_msg_cb), NULL); purple_signal_connect(conv_handle, "received-chat-msg", plugin, PURPLE_CALLBACK(received_chat_msg_cb), NULL); purple_signal_connect(conv_handle, "conversation-created", plugin, PURPLE_CALLBACK(conversation_created_cb), NULL); purple_signal_connect(conv_handle, "deleting-conversation", plugin, PURPLE_CALLBACK(deleting_conversation_cb), NULL); purple_signal_connect(conv_handle, "buddy-typing", plugin, PURPLE_CALLBACK(buddy_typing_cb), NULL); purple_signal_connect(conv_handle, "buddy-typing-stopped", plugin, PURPLE_CALLBACK(buddy_typing_stopped_cb), NULL); purple_signal_connect(conv_handle, "chat-buddy-joining", plugin, PURPLE_CALLBACK(chat_buddy_joining_cb), NULL); purple_signal_connect(conv_handle, "chat-buddy-joined", plugin, PURPLE_CALLBACK(chat_buddy_joined_cb), NULL); purple_signal_connect(conv_handle, "chat-buddy-flags", plugin, PURPLE_CALLBACK(chat_buddy_flags_cb), NULL); purple_signal_connect(conv_handle, "chat-buddy-leaving", plugin, PURPLE_CALLBACK(chat_buddy_leaving_cb), NULL); purple_signal_connect(conv_handle, "chat-buddy-left", plugin, PURPLE_CALLBACK(chat_buddy_left_cb), NULL); purple_signal_connect(conv_handle, "chat-inviting-user", plugin, PURPLE_CALLBACK(chat_inviting_user_cb), NULL); purple_signal_connect(conv_handle, "chat-invited-user", plugin, PURPLE_CALLBACK(chat_invited_user_cb), NULL); purple_signal_connect(conv_handle, "chat-invited", plugin, PURPLE_CALLBACK(chat_invited_cb), NULL); purple_signal_connect(conv_handle, "chat-joined", plugin, PURPLE_CALLBACK(chat_joined_cb), NULL); purple_signal_connect(conv_handle, "chat-left", plugin, PURPLE_CALLBACK(chat_left_cb), NULL); purple_signal_connect(conv_handle, "chat-topic-changed", plugin, PURPLE_CALLBACK(chat_topic_changed_cb), NULL); /* Ciphers signals */ purple_signal_connect(ciphers_handle, "cipher-added", plugin, PURPLE_CALLBACK(cipher_added_cb), NULL); purple_signal_connect(ciphers_handle, "cipher-removed", plugin, PURPLE_CALLBACK(cipher_removed_cb), NULL); /* Core signals */ purple_signal_connect(core_handle, "quitting", plugin, PURPLE_CALLBACK(quitting_cb), NULL); /* File transfer signals */ purple_signal_connect(ft_handle, "file-recv-accept", plugin, PURPLE_CALLBACK(ft_recv_accept_cb), NULL); purple_signal_connect(ft_handle, "file-recv-start", plugin, PURPLE_CALLBACK(ft_recv_start_cb), NULL); purple_signal_connect(ft_handle, "file-recv-cancel", plugin, PURPLE_CALLBACK(ft_recv_cancel_cb), NULL); purple_signal_connect(ft_handle, "file-recv-complete", plugin, PURPLE_CALLBACK(ft_recv_complete_cb), NULL); purple_signal_connect(ft_handle, "file-send-accept", plugin, PURPLE_CALLBACK(ft_send_accept_cb), NULL); purple_signal_connect(ft_handle, "file-send-start", plugin, PURPLE_CALLBACK(ft_send_start_cb), NULL); purple_signal_connect(ft_handle, "file-send-cancel", plugin, PURPLE_CALLBACK(ft_send_cancel_cb), NULL); purple_signal_connect(ft_handle, "file-send-complete", plugin, PURPLE_CALLBACK(ft_send_complete_cb), NULL); /* Sound signals */ purple_signal_connect(sound_handle, "playing-sound-event", plugin, PURPLE_CALLBACK(sound_playing_event_cb), NULL); return TRUE;}static PurplePluginInfo info ={ PURPLE_PLUGIN_MAGIC, PURPLE_MAJOR_VERSION, PURPLE_MINOR_VERSION, PURPLE_PLUGIN_STANDARD, /**< type */ NULL, /**< ui_requirement */ 0, /**< flags */ NULL, /**< dependencies */ PURPLE_PRIORITY_DEFAULT, /**< priority */ SIGNAL_TEST_PLUGIN_ID, /**< id */ N_("Signals Test"), /**< name */ VERSION, /**< version */ /** summary */ N_("Test to see that all signals are working properly."), /** description */ N_("Test to see that all signals are working properly."), "Christian Hammond <chipx86@gnupdate.org>", /**< author */ PURPLE_WEBSITE, /**< homepage */ plugin_load, /**< load */ NULL, /**< unload */ NULL, /**< destroy */ NULL, /**< ui_info */ NULL, /**< extra_info */ NULL, NULL, /* Padding */ NULL, NULL, NULL, NULL};static voidinit_plugin(PurplePlugin *plugin){}PURPLE_INIT_PLUGIN(signalstest, init_plugin, info)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -