Wed, 13 May 2009 20:29:03 +0000
Support custom smileys in MUCs (when all participants support BoB and a maximum
of 10 participants are in the chat).
Always announce support for BoB, since disable custom smileys will still turn
off fetching them, and BoB can be used for other purposes further on.
|
10256
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
1 | /** |
| 15884 | 2 | * Send commands to Purple via ~/.purple/control |
|
10256
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
3 | * |
|
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
4 | * Originally by Eric Warmenhoven <eric@warmenhoven.org> |
|
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
5 | * Compile fixes/mini hacks Alex Bennee <alex@bennee.com> |
|
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
6 | * and Brian Tarricone <bjt23@users.sourceforge.net> |
|
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
7 | */ |
| 106 | 8 | |
| 7658 | 9 | /* system includes */ |
| 106 | 10 | #include <stdlib.h> |
| 7658 | 11 | #include <stdio.h> |
| 106 | 12 | #include <unistd.h> |
| 13 | #include <sys/types.h> | |
| 14 | #include <sys/stat.h> | |
| 15 | #include <string.h> | |
| 16 | #include <ctype.h> | |
| 17 | ||
|
10256
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
18 | #include "account.h" |
| 7658 | 19 | #include "config.h" |
|
10256
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
20 | #include "core.h" |
|
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
21 | #include "conversation.h" |
|
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
22 | #include "debug.h" |
|
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
23 | #include "eventloop.h" |
|
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
24 | #include "internal.h" |
|
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
25 | #include "util.h" |
| 9954 | 26 | #include "version.h" |
| 7658 | 27 | |
| 5255 | 28 | #define FILECTL_PLUGIN_ID "core-filectl" |
|
179
3d1884b2ad14
[gaim-migrate @ 189]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
106
diff
changeset
|
29 | static int check; |
|
3d1884b2ad14
[gaim-migrate @ 189]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
106
diff
changeset
|
30 | static time_t mtime; |
| 106 | 31 | |
|
12397
aa64ec827fdf
[gaim-migrate @ 14704]
Richard Laager <rlaager@pidgin.im>
parents:
11338
diff
changeset
|
32 | static void init_file(void); |
|
aa64ec827fdf
[gaim-migrate @ 14704]
Richard Laager <rlaager@pidgin.im>
parents:
11338
diff
changeset
|
33 | static gboolean check_file(void); |
| 106 | 34 | |
| 35 | /* parse char * as if were word array */ | |
| 36 | char *getarg(char *, int, int); | |
| 37 | ||
| 38 | /* go through file and run any commands */ | |
|
10256
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
39 | void |
|
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
40 | run_commands() |
|
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
41 | { |
| 106 | 42 | struct stat finfo; |
| 43 | char filename[256]; | |
| 44 | char buffer[1024]; | |
| 45 | char *command, *arg1, *arg2; | |
| 46 | FILE *file; | |
| 47 | ||
| 15884 | 48 | sprintf(filename, "%s" G_DIR_SEPARATOR_S "control", purple_user_dir()); |
| 106 | 49 | |
|
10589
4e10236e06d4
[gaim-migrate @ 11994]
Daniel Atallah <datallah@pidgin.im>
parents:
10416
diff
changeset
|
50 | file = g_fopen(filename, "r+"); |
|
10256
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
51 | while (fgets(buffer, sizeof(buffer), file)) { |
|
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
52 | |
|
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
53 | /* Read the next command */ |
| 106 | 54 | if (buffer[strlen(buffer) - 1] == '\n') |
| 55 | buffer[strlen(buffer) - 1] = 0; | |
| 15884 | 56 | purple_debug_misc("filectl", "read: %s\n", buffer); |
| 106 | 57 | command = getarg(buffer, 0, 0); |
|
10256
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
58 | |
|
18552
810a338ef085
Use the glib strcasecmp functions everywhere, as we've had reports of
Richard Laager <rlaager@pidgin.im>
parents:
15884
diff
changeset
|
59 | if (!g_ascii_strncasecmp(command, "login", 6)) { |
| 15884 | 60 | PurpleAccount *account; |
|
10256
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
61 | |
| 106 | 62 | arg1 = getarg(buffer, 1, 0); |
| 63 | arg2 = getarg(buffer, 2, 1); | |
|
10256
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
64 | |
| 15884 | 65 | account = purple_accounts_find(arg1, arg2); |
|
10256
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
66 | if (account != NULL) /* username found */ |
| 15884 | 67 | purple_account_connect(account); |
|
10256
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
68 | |
|
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
69 | free(arg1); |
|
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
70 | free(arg2); |
|
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
71 | |
|
18552
810a338ef085
Use the glib strcasecmp functions everywhere, as we've had reports of
Richard Laager <rlaager@pidgin.im>
parents:
15884
diff
changeset
|
72 | } else if (!g_ascii_strncasecmp(command, "logout", 7)) { |
| 15884 | 73 | PurpleAccount *account; |
|
10256
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
74 | |
|
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
75 | arg1 = getarg(buffer, 1, 1); |
|
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
76 | arg2 = getarg(buffer, 2, 1); |
|
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
77 | |
| 15884 | 78 | account = purple_accounts_find(arg1, arg2); |
|
10256
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
79 | if (account != NULL) |
| 7658 | 80 | { |
| 15884 | 81 | purple_account_disconnect(account); |
|
10256
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
82 | } |
|
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
83 | else if (arg1 == NULL) |
| 15884 | 84 | purple_connections_disconnect_all(); |
|
10256
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
85 | |
|
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
86 | free(arg1); |
|
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
87 | free(arg2); |
|
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
88 | |
| 15884 | 89 | /* purple_find_conversation() is gone in 2.0.0. */ |
|
13471
e01689a020dd
[gaim-migrate @ 15846]
Richard Laager <rlaager@pidgin.im>
parents:
12397
diff
changeset
|
90 | #if 0 |
|
18552
810a338ef085
Use the glib strcasecmp functions everywhere, as we've had reports of
Richard Laager <rlaager@pidgin.im>
parents:
15884
diff
changeset
|
91 | } else if (!g_ascii_strncasecmp(command, "send", 4)) { |
| 15884 | 92 | PurpleConversation *conv; |
|
10256
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
93 | |
|
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
94 | arg1 = getarg(buffer, 1, 0); |
|
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
95 | arg2 = getarg(buffer, 2, 1); |
|
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
96 | |
| 15884 | 97 | conv = purple_find_conversation(PURPLE_CONV_TYPE_ANY, arg1); |
|
10256
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
98 | if (conv != NULL) |
|
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
99 | { |
|
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
100 | /* |
| 15884 | 101 | purple_conversation_write(conv, arg2, WFLAG_SEND, NULL, time(NULL), -1); |
|
10256
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
102 | serv_send_im(conv->gc, arg1, arg2, 0); |
|
9863
323e4fe28791
[gaim-migrate @ 10742]
Mark Doliner <markdoliner@pidgin.im>
parents:
8749
diff
changeset
|
103 | */ |
| 7658 | 104 | } |
|
10256
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
105 | |
| 106 | 106 | free(arg1); |
| 107 | free(arg2); | |
|
13471
e01689a020dd
[gaim-migrate @ 15846]
Richard Laager <rlaager@pidgin.im>
parents:
12397
diff
changeset
|
108 | #endif |
|
10256
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
109 | |
|
18552
810a338ef085
Use the glib strcasecmp functions everywhere, as we've had reports of
Richard Laager <rlaager@pidgin.im>
parents:
15884
diff
changeset
|
110 | } else if (!g_ascii_strncasecmp(command, "away", 4)) { |
| 106 | 111 | arg1 = getarg(buffer, 1, 1); |
|
10256
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
112 | /* serv_set_away_all(arg1); */ |
| 106 | 113 | free(arg1); |
|
10256
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
114 | |
|
18552
810a338ef085
Use the glib strcasecmp functions everywhere, as we've had reports of
Richard Laager <rlaager@pidgin.im>
parents:
15884
diff
changeset
|
115 | } else if (!g_ascii_strncasecmp(command, "hide", 4)) { |
| 15884 | 116 | purple_blist_set_visible(FALSE); |
|
10256
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
117 | |
|
18552
810a338ef085
Use the glib strcasecmp functions everywhere, as we've had reports of
Richard Laager <rlaager@pidgin.im>
parents:
15884
diff
changeset
|
118 | } else if (!g_ascii_strncasecmp(command, "unhide", 6)) { |
| 15884 | 119 | purple_blist_set_visible(TRUE); |
|
10256
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
120 | |
|
18552
810a338ef085
Use the glib strcasecmp functions everywhere, as we've had reports of
Richard Laager <rlaager@pidgin.im>
parents:
15884
diff
changeset
|
121 | } else if (!g_ascii_strncasecmp(command, "back", 4)) { |
|
9863
323e4fe28791
[gaim-migrate @ 10742]
Mark Doliner <markdoliner@pidgin.im>
parents:
8749
diff
changeset
|
122 | /* do_im_back(); */ |
|
10256
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
123 | |
|
18552
810a338ef085
Use the glib strcasecmp functions everywhere, as we've had reports of
Richard Laager <rlaager@pidgin.im>
parents:
15884
diff
changeset
|
124 | } else if (!g_ascii_strncasecmp(command, "quit", 4)) { |
| 15884 | 125 | purple_core_quit(); |
|
10256
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
126 | |
| 106 | 127 | } |
|
10256
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
128 | |
| 106 | 129 | free(command); |
| 130 | } | |
| 131 | ||
| 132 | fclose(file); | |
| 133 | ||
|
10589
4e10236e06d4
[gaim-migrate @ 11994]
Daniel Atallah <datallah@pidgin.im>
parents:
10416
diff
changeset
|
134 | if (g_stat(filename, &finfo) != 0) |
| 106 | 135 | return; |
| 136 | mtime = finfo.st_mtime; | |
| 137 | } | |
| 138 | ||
|
10256
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
139 | /** |
|
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
140 | * Check to see if the size of the file is > 0. if so, run commands. |
|
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
141 | */ |
|
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
142 | void |
|
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
143 | init_file() |
|
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
144 | { |
| 106 | 145 | /* most of this was taken from Bash v2.04 by the FSF */ |
| 146 | struct stat finfo; | |
|
10256
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
147 | char filename[256]; |
| 106 | 148 | |
| 15884 | 149 | sprintf(filename, "%s" G_DIR_SEPARATOR_S "control", purple_user_dir()); |
| 106 | 150 | |
|
10589
4e10236e06d4
[gaim-migrate @ 11994]
Daniel Atallah <datallah@pidgin.im>
parents:
10416
diff
changeset
|
151 | if ((g_stat(filename, &finfo) == 0) && (finfo.st_size > 0)) |
| 106 | 152 | run_commands(); |
| 153 | } | |
| 154 | ||
|
10256
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
155 | /** |
|
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
156 | * Check to see if we need to run commands from the file. |
|
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
157 | */ |
|
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
158 | gboolean |
|
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
159 | check_file() |
|
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
160 | { |
| 106 | 161 | /* most of this was taken from Bash v2.04 by the FSF */ |
| 162 | struct stat finfo; | |
|
10256
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
163 | char filename[256]; |
| 106 | 164 | |
| 15884 | 165 | sprintf(filename, "%s" G_DIR_SEPARATOR_S "control", purple_user_dir()); |
| 106 | 166 | |
|
10589
4e10236e06d4
[gaim-migrate @ 11994]
Daniel Atallah <datallah@pidgin.im>
parents:
10416
diff
changeset
|
167 | if ((g_stat(filename, &finfo) == 0) && (finfo.st_size > 0)) |
| 7658 | 168 | { |
|
179
3d1884b2ad14
[gaim-migrate @ 189]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
106
diff
changeset
|
169 | if (mtime != finfo.st_mtime) { |
| 15884 | 170 | purple_debug_info("filectl", "control changed, checking\n"); |
| 106 | 171 | run_commands(); |
|
179
3d1884b2ad14
[gaim-migrate @ 189]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
106
diff
changeset
|
172 | } |
| 7658 | 173 | } |
| 174 | ||
| 175 | return TRUE; | |
| 106 | 176 | } |
| 177 | ||
|
10256
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
178 | char * |
|
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
179 | getarg(char *line, int which, int remain) |
|
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
180 | { |
| 106 | 181 | char *arr; |
| 182 | char *val; | |
| 183 | int count = -1; | |
| 184 | int i; | |
| 185 | int state = 0; | |
| 186 | ||
| 187 | for (i = 0; i < strlen(line) && count < which; i++) { | |
| 188 | switch (state) { | |
| 189 | case 0: /* in whitespace, expecting word */ | |
| 190 | if (isalnum(line[i])) { | |
| 191 | count++; | |
| 192 | state = 1; | |
| 193 | } | |
| 194 | break; | |
| 195 | case 1: /* inside word, waiting for whitespace */ | |
| 196 | if (isspace(line[i])) { | |
| 197 | state = 0; | |
| 198 | } | |
| 199 | break; | |
| 200 | } | |
| 201 | } | |
| 202 | ||
| 203 | arr = strdup(&line[i - 1]); | |
| 204 | if (remain) | |
| 205 | return arr; | |
| 206 | ||
| 207 | for (i = 0; i < strlen(arr) && isalnum(arr[i]); i++); | |
| 208 | arr[i] = 0; | |
| 209 | val = strdup(arr); | |
| 210 | arr[i] = ' '; | |
| 211 | free(arr); | |
| 212 | return val; | |
| 213 | } | |
|
10256
b03475373f0d
[gaim-migrate @ 11397]
Mark Doliner <markdoliner@pidgin.im>
parents:
10246
diff
changeset
|
214 | |
| 5255 | 215 | /* |
| 216 | * EXPORTED FUNCTIONS | |
| 217 | */ | |
| 218 | ||
| 219 | static gboolean | |
| 15884 | 220 | plugin_load(PurplePlugin *plugin) |
| 5255 | 221 | { |
| 222 | init_file(); | |
|
26752
27fe5aa7cbd0
A patch from Arunan Balasubramaniam to use timeouts in seconds instead of
Arunan Balasubramaniam <foss@abala.me>
parents:
20288
diff
changeset
|
223 | check = purple_timeout_add_seconds(5, (GSourceFunc)check_file, NULL); |
| 5255 | 224 | |
| 225 | return TRUE; | |
| 226 | } | |
| 227 | ||
| 228 | static gboolean | |
| 15884 | 229 | plugin_unload(PurplePlugin *plugin) |
| 5255 | 230 | { |
| 15884 | 231 | purple_timeout_remove(check); |
| 5255 | 232 | |
| 233 | return TRUE; | |
| 234 | } | |
| 235 | ||
| 15884 | 236 | static PurplePluginInfo info = |
| 5255 | 237 | { |
| 15884 | 238 | PURPLE_PLUGIN_MAGIC, |
| 239 | PURPLE_MAJOR_VERSION, | |
| 240 | PURPLE_MINOR_VERSION, | |
| 241 | PURPLE_PLUGIN_STANDARD, /**< type */ | |
| 5255 | 242 | NULL, /**< ui_requirement */ |
| 243 | 0, /**< flags */ | |
| 244 | NULL, /**< dependencies */ | |
| 15884 | 245 | PURPLE_PRIORITY_DEFAULT, /**< priority */ |
| 5255 | 246 | |
| 247 | FILECTL_PLUGIN_ID, /**< id */ | |
|
15444
b793ef258d23
I think this changes every user-visible string that contains 'Gaim.' We probably want the UI to be able
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
248 | N_("File Control"), /**< name */ |
|
20288
5ca925a094e2
applied changes from 03b709ec2a153e7e82719df0ba4635108bb1d3c6
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
18552
diff
changeset
|
249 | DISPLAY_VERSION, /**< version */ |
| 5255 | 250 | /** summary */ |
|
15444
b793ef258d23
I think this changes every user-visible string that contains 'Gaim.' We probably want the UI to be able
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
251 | N_("Allows control by entering commands in a file."), |
| 5255 | 252 | /** description */ |
|
15444
b793ef258d23
I think this changes every user-visible string that contains 'Gaim.' We probably want the UI to be able
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
253 | N_("Allows control by entering commands in a file."), |
| 5255 | 254 | "Eric Warmenhoven <eric@warmenhoven.org>", /**< author */ |
| 15884 | 255 | PURPLE_WEBSITE, /**< homepage */ |
| 5255 | 256 | |
| 257 | plugin_load, /**< load */ | |
| 258 | plugin_unload, /**< unload */ | |
| 259 | NULL, /**< destroy */ | |
| 260 | ||
| 261 | NULL, /**< ui_info */ | |
| 262 | NULL /**< extra_info */ | |
| 263 | }; | |
| 264 | ||
| 265 | static void | |
| 15884 | 266 | init_plugin(PurplePlugin *plugin) |
| 5255 | 267 | { |
| 268 | } | |
| 269 | ||
| 15884 | 270 | PURPLE_INIT_PLUGIN(filectl, init_plugin, info) |