21 */ |
21 */ |
22 |
22 |
23 #include <glib.h> |
23 #include <glib.h> |
24 #include <string.h> |
24 #include <string.h> |
25 |
25 |
26 #include <mcabber/hbuf.h> |
26 #include <mcabber/commands.h> // cmd_add (), cmd_del (), process_command () |
27 #include <mcabber/screen.h> |
27 #include <mcabber/compl.h> // COMPL_JID, COMPL_CMD |
28 #include <mcabber/commands.h> |
28 #include <mcabber/hbuf.h> // HBB_PREFIX_INFO, HBB_PREFIX_NOFLAG |
29 #include <mcabber/compl.h> |
29 #include <mcabber/logprint.h> // scr_log_print () |
30 #include <mcabber/utils.h> |
30 #include <mcabber/modules.h> // module_info_t |
31 #include <mcabber/logprint.h> |
31 #include <mcabber/roster.h> // ROSTER_UI_PRIO_STATUS_WIN_MESSAGE, SPECIAL_BUFFER_STATUS_ID, current_buddy |
32 #include <mcabber/modules.h> |
32 #include <mcabber/screen.h> // scr_write_incoming_message (), scr_getlogwinheight (), scr_setmsgflag_if_needed (), scr_setattentionflag_if_needed () |
|
33 #include <mcabber/utils.h> // free_arg_lst (), split_arg () |
33 |
34 |
34 #include "config.h" |
35 #include "config.h" |
35 |
36 |
36 void marking_init (void); |
37 void marking_init (void); |
37 void marking_uninit (void); |
38 void marking_uninit (void); |
48 .init = marking_init, |
49 .init = marking_init, |
49 .uninit = marking_uninit, |
50 .uninit = marking_uninit, |
50 .next = NULL, |
51 .next = NULL, |
51 }; |
52 }; |
52 |
53 |
53 #ifdef MCABBER_API_HAVE_CMD_ID |
54 #ifdef HAVE_MCABBER_CMD_ID |
54 static gpointer mark_cmid = NULL; |
55 static gpointer mark_cmid = NULL; |
55 static gpointer marked_cmid = NULL; |
56 static gpointer marked_cmid = NULL; |
56 #endif |
57 #endif |
57 |
58 |
58 static GSList *marked_jids = NULL; |
59 static GSList *marked_jids = NULL; |
251 free_arg_lst (args); |
252 free_arg_lst (args); |
252 } |
253 } |
253 |
254 |
254 void marking_init (void) |
255 void marking_init (void) |
255 { |
256 { |
256 #ifndef MCABBER_API_HAVE_CMD_ID |
257 #ifndef HAVE_MCABBER_CMD_ID |
257 cmd_add ("mark", "", 0, COMPL_JID, do_mark, NULL); |
258 cmd_add ("mark", "", 0, COMPL_JID, do_mark, NULL); |
258 cmd_add ("marked", "", 0, COMPL_CMD, do_marked, NULL); |
259 cmd_add ("marked", "", 0, COMPL_CMD, do_marked, NULL); |
259 #else |
260 #else |
260 mark_cmid = cmd_add ("mark", "", 0, COMPL_JID, do_mark, NULL); |
261 mark_cmid = cmd_add ("mark", "", 0, COMPL_JID, do_mark, NULL); |
261 marked_cmid = cmd_add ("marked", "", 0, COMPL_CMD, do_marked, NULL); |
262 marked_cmid = cmd_add ("marked", "", 0, COMPL_CMD, do_marked, NULL); |
262 #endif |
263 #endif |
263 } |
264 } |
264 |
265 |
265 void marking_uninit (void) |
266 void marking_uninit (void) |
266 { |
267 { |
267 #ifndef MCABBER_API_HAVE_CMD_ID |
268 #ifndef HAVE_MCABBER_CMD_ID |
268 cmd_del ("mark"); |
269 cmd_del ("mark"); |
269 cmd_del ("marked"); |
270 cmd_del ("marked"); |
270 #else |
271 #else |
271 if (mark_cmid) |
272 if (mark_cmid) |
272 cmd_del (mark_cmid); |
273 cmd_del (mark_cmid); |