marking.c
changeset 34 1820e2dc90ef
parent 31 55395c6ef7ea
equal deleted inserted replaced
33:c7259f0fac72 34:1820e2dc90ef
    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);