plugins/mailchk.c

Wed, 24 Sep 2003 00:03:08 +0000

author
Christian Hammond <chipx86@chipx86.com>
date
Wed, 24 Sep 2003 00:03:08 +0000
changeset 6920
4f4931b005cb
parent 6677
effa9861ec8e
child 8598
6844e36a130a
permissions
-rw-r--r--

[gaim-migrate @ 7467]
Fixed problems with the wrong data being sent to signal callbacks in perl
plugins. The resulting code has more sanity checks, but is extremely ugly,
and is therefore rated R. Parents, don't let your children see
perl-common.c.

6287
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
1 #include "internal.h"
6677
effa9861ec8e [gaim-migrate @ 7202]
Paul Aurich <darkrain42@pidgin.im>
parents: 6485
diff changeset
2 #include "gtkinternal.h"
6287
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
3
5255
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
4 #include "blist.h"
6677
effa9861ec8e [gaim-migrate @ 7202]
Paul Aurich <darkrain42@pidgin.im>
parents: 6485
diff changeset
5 #include "conversation.h"
6287
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
6 #include "debug.h"
6677
effa9861ec8e [gaim-migrate @ 7202]
Paul Aurich <darkrain42@pidgin.im>
parents: 6485
diff changeset
7 #include "signals.h"
4576
99c15f8a04ee [gaim-migrate @ 4857]
Paul Aurich <darkrain42@pidgin.im>
parents: 4575
diff changeset
8 #include "sound.h"
6677
effa9861ec8e [gaim-migrate @ 7202]
Paul Aurich <darkrain42@pidgin.im>
parents: 6485
diff changeset
9
effa9861ec8e [gaim-migrate @ 7202]
Paul Aurich <darkrain42@pidgin.im>
parents: 6485
diff changeset
10 #include "gtkblist.h"
6287
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
11 #include "gtkplugin.h"
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
12
5255
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
13 #define MAILCHK_PLUGIN_ID "gtk-mailchk"
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4655
diff changeset
14
1803
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
15 #define ANY_MAIL 0x01
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
16 #define UNREAD_MAIL 0x02
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
17 #define NEW_MAIL 0x04
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
18
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
19 static guint32 timer = 0;
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
20 static GtkWidget *mail = NULL;
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
21
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
22 static gint check_mail()
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
23 {
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
24 static off_t oldsize = 0;
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
25 gchar *filename;
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
26 off_t newsize;
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
27 struct stat s;
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
28 gint ret = 0;
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
29
4655
232f23f33b0a [gaim-migrate @ 4966]
Nathan Walp <nwalp@pidgin.im>
parents: 4576
diff changeset
30 filename = g_strdup(g_getenv("MAIL"));
1803
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
31 if (!filename)
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
32 filename = g_strconcat("/var/spool/mail/", g_get_user_name(), NULL);
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
33
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
34 if (stat(filename, &s) < 0) {
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
35 g_free(filename);
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
36 return -1;
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
37 }
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
38
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
39 newsize = s.st_size;
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
40 if (newsize) ret |= ANY_MAIL;
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
41 if (s.st_mtime > s.st_atime && newsize) ret |= UNREAD_MAIL;
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
42 if (newsize != oldsize && (ret & UNREAD_MAIL)) ret |= NEW_MAIL;
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
43 oldsize = newsize;
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
44
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
45 g_free(filename);
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
46
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
47 return ret;
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
48 }
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
49
5255
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
50 static void destroy_cb()
1803
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
51 {
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
52 mail = NULL;
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
53 }
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
54
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
55 static gboolean check_timeout(gpointer data)
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
56 {
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
57 gint count = check_mail();
5255
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
58 struct gaim_buddy_list *list = gaim_get_blist();
6287
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
59
1803
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
60 if (count == -1)
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
61 return FALSE;
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
62
6287
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
63 if (!list || !GAIM_IS_GTK_BLIST(list) || !(GAIM_GTK_BLIST(list)->vbox))
1803
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
64 return TRUE;
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
65
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
66 if (!mail) {
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
67 /* guess we better build it then :P */
6287
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
68 GtkWidget *vbox = GAIM_GTK_BLIST(list)->vbox;
1803
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
69
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
70 mail = gtk_label_new("No mail messages.");
5255
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
71 gtk_box_pack_start(GTK_BOX(vbox), mail, FALSE, FALSE, 0);
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
72 gtk_box_reorder_child(GTK_BOX(vbox), mail, 1);
5314
56ef6a09fb99 [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5255
diff changeset
73 g_signal_connect(G_OBJECT(mail), "destroy", G_CALLBACK(destroy_cb), NULL);
1803
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
74 gtk_widget_show(mail);
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
75 }
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
76
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
77 if (count & NEW_MAIL)
4576
99c15f8a04ee [gaim-migrate @ 4857]
Paul Aurich <darkrain42@pidgin.im>
parents: 4575
diff changeset
78 gaim_sound_play_event(GAIM_SOUND_POUNCE_DEFAULT);
1803
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
79
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
80 if (count & UNREAD_MAIL)
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
81 gtk_label_set_text(GTK_LABEL(mail), "You have new mail!");
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
82 else if (count & ANY_MAIL)
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
83 gtk_label_set_text(GTK_LABEL(mail), "You have mail.");
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
84 else
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
85 gtk_label_set_text(GTK_LABEL(mail), "No mail messages.");
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
86
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
87 return TRUE;
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
88 }
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
89
6287
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
90 static void signon_cb(GaimConnection *gc)
1803
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
91 {
5255
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
92 struct gaim_buddy_list *list = gaim_get_blist();
6287
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
93 if (list && GAIM_IS_GTK_BLIST(list) && !timer) {
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
94 check_timeout(NULL); /* we want the box to be drawn immediately */
4168
46523d0de8ab [gaim-migrate @ 4397]
Nathan Walp <nwalp@pidgin.im>
parents: 4165
diff changeset
95 timer = g_timeout_add(2000, check_timeout, NULL);
6287
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
96 }
1803
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
97 }
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
98
6287
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
99 static void signoff_cb(GaimConnection *gc)
1803
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
100 {
5255
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
101 struct gaim_buddy_list *list = gaim_get_blist();
6287
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
102 if ((!list || !GAIM_IS_GTK_BLIST(list) || !GAIM_GTK_BLIST(list)->vbox) && timer) {
4168
46523d0de8ab [gaim-migrate @ 4397]
Nathan Walp <nwalp@pidgin.im>
parents: 4165
diff changeset
103 g_source_remove(timer);
2259
125778605342 [gaim-migrate @ 2269]
Daniel J Peng
parents: 1804
diff changeset
104 timer = 0;
125778605342 [gaim-migrate @ 2269]
Daniel J Peng
parents: 1804
diff changeset
105 }
1803
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
106 }
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
107
5255
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
108 /*
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
109 * EXPORTED FUNCTIONS
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
110 */
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
111
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
112 static gboolean
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
113 plugin_load(GaimPlugin *plugin)
1803
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
114 {
5255
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
115 struct gaim_buddy_list *list = gaim_get_blist();
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6371
diff changeset
116 void *conn_handle = gaim_connections_get_handle();
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6371
diff changeset
117
5255
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
118 if (!check_timeout(NULL)) {
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
119 gaim_debug(GAIM_DEBUG_WARNING, "mailchk", "Could not read $MAIL or /var/spool/mail/$USER");
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
120 return FALSE;
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
121 }
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
122
6287
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
123 if (list && GAIM_IS_GTK_BLIST(list) && GAIM_GTK_BLIST(list)->vbox)
4168
46523d0de8ab [gaim-migrate @ 4397]
Nathan Walp <nwalp@pidgin.im>
parents: 4165
diff changeset
124 timer = g_timeout_add(2000, check_timeout, NULL);
5255
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
125
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6371
diff changeset
126 gaim_signal_connect(conn_handle, "signed-on",
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6371
diff changeset
127 plugin, GAIM_CALLBACK(signon_cb), NULL);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6371
diff changeset
128 gaim_signal_connect(conn_handle, "signed-off",
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6371
diff changeset
129 plugin, GAIM_CALLBACK(signoff_cb), NULL);
5255
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
130
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
131 return TRUE;
1803
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
132 }
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
133
5255
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
134 static gboolean
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
135 plugin_unload(GaimPlugin *plugin)
1803
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
136 {
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
137 if (timer)
4168
46523d0de8ab [gaim-migrate @ 4397]
Nathan Walp <nwalp@pidgin.im>
parents: 4165
diff changeset
138 g_source_remove(timer);
1803
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
139 timer = 0;
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
140 if (mail)
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
141 gtk_widget_destroy(mail);
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
142 mail = NULL;
5255
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
143
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
144 return TRUE;
1803
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
145 }
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
146
5255
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
147 static GaimPluginInfo info =
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
148 {
6287
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
149 2,
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
150 GAIM_PLUGIN_STANDARD,
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
151 GAIM_GTK_PLUGIN_TYPE,
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
152 0,
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
153 NULL,
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
154 GAIM_PRIORITY_DEFAULT,
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
155 MAILCHK_PLUGIN_ID,
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
156 N_("Mail Checker"),
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
157 VERSION,
5255
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
158 N_("Checks for new local mail."),
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
159 N_("Checks for new local mail."),
6287
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
160 "Eric Warmenhoven <eric@warmenhoven.org>",
6371
e92b66ee5518 [gaim-migrate @ 6876]
Christian Hammond <chipx86@chipx86.com>
parents: 6287
diff changeset
161 GAIM_WEBSITE,
6287
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
162 plugin_load,
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
163 plugin_unload,
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
164 NULL,
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
165 NULL,
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
166 NULL
5255
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
167 };
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
168
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
169 static void
5920
963bfdefee02 [gaim-migrate @ 6360]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
170 init_plugin(GaimPlugin *plugin)
5255
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
171 {
3551
acce66c34dbd [gaim-migrate @ 3626]
Sean Egan <seanegan@pidgin.im>
parents: 3060
diff changeset
172 }
acce66c34dbd [gaim-migrate @ 3626]
Sean Egan <seanegan@pidgin.im>
parents: 3060
diff changeset
173
6063
8fbafa2e1846 [gaim-migrate @ 6513]
Nathan Walp <nwalp@pidgin.im>
parents: 5920
diff changeset
174 GAIM_INIT_PLUGIN(mailchk, init_plugin, info)

mercurial