equal
deleted
inserted
replaced
38 |
38 |
39 #define DESCRIPTION ( "Actions on multiple marked buddies\nProvides commands /mark and /marked" ) |
39 #define DESCRIPTION ( "Actions on multiple marked buddies\nProvides commands /mark and /marked" ) |
40 |
40 |
41 static module_info_t info_marking_experimental = { |
41 static module_info_t info_marking_experimental = { |
42 .branch = "experimental", |
42 .branch = "experimental", |
43 .api = 15, |
43 #ifndef HAVE_CMD_ID |
|
44 .api = 20, |
|
45 #else |
|
46 .api = 23, |
|
47 #endif |
44 .version = PROJECT_VERSION, |
48 .version = PROJECT_VERSION, |
45 .description = DESCRIPTION, |
49 .description = DESCRIPTION, |
46 .requires = NULL, |
50 .requires = NULL, |
47 .init = marking_init, |
51 .init = marking_init, |
48 .uninit = marking_uninit, |
52 .uninit = marking_uninit, |
58 .init = marking_init, |
62 .init = marking_init, |
59 .uninit = marking_uninit, |
63 .uninit = marking_uninit, |
60 .next = &info_marking_experimental, |
64 .next = &info_marking_experimental, |
61 }; |
65 }; |
62 |
66 |
|
67 #ifdef HAVE_CMD_ID |
|
68 static gpointer mark_cmid = NULL; |
|
69 static gpointer marked_cmid = NULL; |
|
70 #endif |
|
71 |
63 static GSList *marked_jids = NULL; |
72 static GSList *marked_jids = NULL; |
64 |
73 |
65 // mark set jid |
74 // mark set jid |
66 // mark clear jid |
75 // mark clear jid |
67 // mark toggle jid |
76 // mark toggle jid |
199 free_arg_lst (args); |
208 free_arg_lst (args); |
200 } |
209 } |
201 |
210 |
202 static void marking_init (void) |
211 static void marking_init (void) |
203 { |
212 { |
|
213 #ifndef HAVE_CMD_ID |
204 cmd_add ("mark", "", 0, COMPL_JID, do_mark, NULL); |
214 cmd_add ("mark", "", 0, COMPL_JID, do_mark, NULL); |
205 cmd_add ("marked", "", 0, COMPL_CMD, do_marked, NULL); |
215 cmd_add ("marked", "", 0, COMPL_CMD, do_marked, NULL); |
|
216 #else |
|
217 mark_cmid = cmd_add ("mark", "", 0, COMPL_JID, do_mark, NULL); |
|
218 marked_cmid = cmd_add ("marked", "", 0, COMPL_CMD, do_marked, NULL); |
|
219 #endif |
206 } |
220 } |
207 |
221 |
208 static void marking_uninit (void) |
222 static void marking_uninit (void) |
209 { |
223 { |
|
224 #ifndef HAVE_CMD_ID |
210 cmd_del ("mark"); |
225 cmd_del ("mark"); |
211 cmd_del ("marked"); |
226 cmd_del ("marked"); |
|
227 #else |
|
228 if (mark_cmid) |
|
229 cmd_del (mark_cmid); |
|
230 if (marked_cmid) |
|
231 cmd_del (marked_cmid); |
|
232 #endif |
212 |
233 |
213 { |
234 { |
214 GSList *mel; |
235 GSList *mel; |
215 |
236 |
216 for (mel = marked_jids; mel; mel = mel->next) |
237 for (mel = marked_jids; mel; mel = mel->next) |
219 g_slist_free (marked_jids); |
240 g_slist_free (marked_jids); |
220 marked_jids = NULL; |
241 marked_jids = NULL; |
221 } |
242 } |
222 } |
243 } |
223 |
244 |
224 /* The End */ |
245 /* vim: se ts=4 sw=4: */ |