Use g_strcmp0() for code simplification
[pidgin-git.git] / pidgin / plugins / gtk-signals-test.c
bloba1cf84bf25f5b597645c42b937772c4c5a8e8d56
1 /*
2 * Signals test plugin.
4 * Copyright (C) 2003 Christian Hammond.
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License as
8 * published by the Free Software Foundation; either version 2 of the
9 * License, or (at your option) any later version.
11 * This program is distributed in the hope that it will be useful, but
12 * WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
19 * 02111-1301, USA.
21 #define GTK_SIGNAL_TEST_PLUGIN_ID "gtk-signals-test"
23 #include "internal.h"
25 #include <gtk/gtk.h>
27 #include "debug.h"
28 #include "version.h"
30 #include "gtkaccount.h"
31 #include "gtkblist.h"
32 #include "gtkconv.h"
33 #include "gtkplugin.h"
35 /**************************************************************************
36 * Account subsystem signal callbacks
37 **************************************************************************/
38 static void
39 account_modified_cb(PurpleAccount *account, void *data) {
40 purple_debug_info("gtk-signal-test", "account modified cb\n");
43 /**************************************************************************
44 * Buddy List subsystem signal callbacks
45 **************************************************************************/
46 static void
47 blist_created_cb(PurpleBuddyList *blist, void *data) {
48 purple_debug_info("gtk-signal-test", "buddy list created\n");
51 static void
52 blist_drawing_tooltip_cb(PurpleBlistNode *node, GString *str, gboolean full, void *data) {
53 purple_debug_info("gtk-signal-test", "drawing tooltip cb\n");
56 /**************************************************************************
57 * Conversation subsystem signal callbacks
58 **************************************************************************/
59 static void
60 conversation_dragging_cb(PidginWindow *source, PidginWindow *destination) {
61 purple_debug_info("gtk-signal-test", "conversation dragging cb\n");
64 static gboolean
65 displaying_im_msg_cb(PurpleAccount *account, const char *who, char **buffer,
66 PurpleConversation *conv, PurpleMessageFlags flags, void *data)
68 purple_debug_misc("gtk-signals test", "displaying-im-msg (%s, %s)\n",
69 purple_conversation_get_name(conv), *buffer);
71 return FALSE;
74 static void
75 displayed_im_msg_cb(PurpleAccount *account, const char *who, const char *buffer,
76 PurpleConversation *conv, PurpleMessageFlags flags, void *data)
78 purple_debug_misc("gtk-signals test", "displayed-im-msg (%s, %s)\n",
79 purple_conversation_get_name(conv), buffer);
82 static gboolean
83 displaying_chat_msg_cb(PurpleAccount *account, const char *who, char **buffer,
84 PurpleConversation *conv, PurpleMessageFlags flags, void *data)
86 purple_debug_misc("gtk-signals test", "displaying-chat-msg (%s, %s)\n",
87 purple_conversation_get_name(conv), *buffer);
89 return FALSE;
92 static void
93 displayed_chat_msg_cb(PurpleAccount *account, const char *who, const char *buffer,
94 PurpleConversation *conv, PurpleMessageFlags flags, void *data)
96 purple_debug_misc("gtk-signals test", "displayed-chat-msg (%s, %s)\n",
97 purple_conversation_get_name(conv), buffer);
100 static void
101 conversation_switched_cb(PurpleConversation *conv, void *data)
103 purple_debug_misc("gtk-signals test", "conversation-switched (%s)\n",
104 purple_conversation_get_name(conv));
107 /**************************************************************************
108 * Plugin stuff
109 **************************************************************************/
110 static gboolean
111 plugin_load(PurplePlugin *plugin)
113 void *accounts_handle = pidgin_account_get_handle();
114 void *blist_handle = pidgin_blist_get_handle();
115 void *conv_handle = pidgin_conversations_get_handle();
117 /* Accounts subsystem signals */
118 purple_signal_connect(accounts_handle, "account-modified",
119 plugin, PURPLE_CALLBACK(account_modified_cb), NULL);
121 /* Buddy List subsystem signals */
122 purple_signal_connect(blist_handle, "gtkblist-created",
123 plugin, PURPLE_CALLBACK(blist_created_cb), NULL);
124 purple_signal_connect(blist_handle, "drawing-tooltip",
125 plugin, PURPLE_CALLBACK(blist_drawing_tooltip_cb), NULL);
127 /* Conversations subsystem signals */
128 purple_signal_connect(conv_handle, "conversation-dragging",
129 plugin, PURPLE_CALLBACK(conversation_dragging_cb), NULL);
130 purple_signal_connect(conv_handle, "displaying-im-msg",
131 plugin, PURPLE_CALLBACK(displaying_im_msg_cb), NULL);
132 purple_signal_connect(conv_handle, "displayed-im-msg",
133 plugin, PURPLE_CALLBACK(displayed_im_msg_cb), NULL);
134 purple_signal_connect(conv_handle, "displaying-chat-msg",
135 plugin, PURPLE_CALLBACK(displaying_chat_msg_cb), NULL);
136 purple_signal_connect(conv_handle, "displayed-chat-msg",
137 plugin, PURPLE_CALLBACK(displayed_chat_msg_cb), NULL);
138 purple_signal_connect(conv_handle, "conversation-switched",
139 plugin, PURPLE_CALLBACK(conversation_switched_cb), NULL);
141 return TRUE;
144 static gboolean
145 plugin_unload(PurplePlugin *plugin) {
146 return TRUE;
149 static PurplePluginInfo info =
151 PURPLE_PLUGIN_MAGIC,
152 PURPLE_MAJOR_VERSION,
153 PURPLE_MINOR_VERSION,
154 PURPLE_PLUGIN_STANDARD, /**< type */
155 PIDGIN_PLUGIN_TYPE, /**< ui_requirement */
156 0, /**< flags */
157 NULL, /**< dependencies */
158 PURPLE_PRIORITY_DEFAULT, /**< priority */
160 GTK_SIGNAL_TEST_PLUGIN_ID, /**< id */
161 N_("GTK Signals Test"), /**< name */
162 DISPLAY_VERSION, /**< version */
163 /** summary */
164 N_("Test to see that all ui signals are working properly."),
165 /** description */
166 N_("Test to see that all ui signals are working properly."),
167 "Gary Kramlich <amc_grim@users.sf.net>", /**< author */
168 PURPLE_WEBSITE, /**< homepage */
170 plugin_load, /**< load */
171 plugin_unload, /**< unload */
172 NULL, /**< destroy */
174 NULL, /**< ui_info */
175 NULL, /**< extra_info */
176 NULL,
177 NULL,
179 /* padding */
180 NULL,
181 NULL,
182 NULL,
183 NULL
186 static void
187 init_plugin(PurplePlugin *plugin)
191 PURPLE_INIT_PLUGIN(gtksignalstest, init_plugin, info)