mcabber/src/commands.c
changeset 336 eb994ee40029
parent 330 a9013124ede6
child 361 51ff319947c3
equal deleted inserted replaced
335:3ec329a1c621 336:eb994ee40029
    31 #include "utf8.h"
    31 #include "utf8.h"
    32 #include "utils.h"
    32 #include "utils.h"
    33 #include "settings.h"
    33 #include "settings.h"
    34 
    34 
    35 // Commands callbacks
    35 // Commands callbacks
    36 void do_roster(char *arg);
    36 static void do_roster(char *arg);
    37 void do_status(char *arg);
    37 static void do_status(char *arg);
    38 void do_add(char *arg);
    38 static void do_add(char *arg);
    39 void do_del(char *arg);
    39 static void do_del(char *arg);
    40 void do_group(char *arg);
    40 static void do_group(char *arg);
    41 void do_say(char *arg);
    41 static void do_say(char *arg);
    42 void do_msay(char *arg);
    42 static void do_msay(char *arg);
    43 void do_buffer(char *arg);
    43 static void do_buffer(char *arg);
    44 void do_clear(char *arg);
    44 static void do_clear(char *arg);
    45 void do_info(char *arg);
    45 static void do_info(char *arg);
    46 void do_rename(char *arg);
    46 static void do_rename(char *arg);
    47 void do_move(char *arg);
    47 static void do_move(char *arg);
    48 void do_set(char *arg);
    48 static void do_set(char *arg);
    49 void do_alias(char *arg);
    49 static void do_alias(char *arg);
    50 void do_bind(char *arg);
    50 static void do_bind(char *arg);
    51 void do_connect(char *arg);
    51 static void do_connect(char *arg);
    52 void do_disconnect(char *arg);
    52 static void do_disconnect(char *arg);
    53 
    53 
    54 // Global variable for the commands list
    54 // Global variable for the commands list
    55 static GSList *Commands;
    55 static GSList *Commands;
    56 
    56 
    57 
    57 
   321   return process_command(line);
   321   return process_command(line);
   322 }
   322 }
   323 
   323 
   324 /* Commands callback functions */
   324 /* Commands callback functions */
   325 
   325 
   326 void do_roster(char *arg)
   326 static void do_roster(char *arg)
   327 {
   327 {
   328   if (!strcasecmp(arg, "top")) {
   328   if (!strcasecmp(arg, "top")) {
   329     scr_RosterTop();
   329     scr_RosterTop();
   330     update_roster = TRUE;
   330     update_roster = TRUE;
   331   } else if (!strcasecmp(arg, "bottom")) {
   331   } else if (!strcasecmp(arg, "bottom")) {
   366     update_roster = TRUE;
   366     update_roster = TRUE;
   367   } else
   367   } else
   368     scr_LogPrint("Unrecognized parameter!");
   368     scr_LogPrint("Unrecognized parameter!");
   369 }
   369 }
   370 
   370 
   371 void do_status(char *arg)
   371 static void do_status(char *arg)
   372 {
   372 {
   373   enum imstatus st;
   373   enum imstatus st;
   374   int len;
   374   int len;
   375   char *msg;
   375   char *msg;
   376 
   376 
   405     msg = NULL;
   405     msg = NULL;
   406 
   406 
   407   jb_setstatus(st, msg);
   407   jb_setstatus(st, msg);
   408 }
   408 }
   409 
   409 
   410 void do_add(char *arg)
   410 static void do_add(char *arg)
   411 {
   411 {
   412   char *id, *nick;
   412   char *id, *nick;
   413   if (!arg || (*arg == 0)) {
   413   if (!arg || (*arg == 0)) {
   414     scr_LogPrint("Wrong usage");
   414     scr_LogPrint("Wrong usage");
   415     return;
   415     return;
   428   jb_addbuddy(id, nick, NULL);
   428   jb_addbuddy(id, nick, NULL);
   429   scr_LogPrint("Sent presence notfication request to <%s>", id);
   429   scr_LogPrint("Sent presence notfication request to <%s>", id);
   430   g_free(id);
   430   g_free(id);
   431 }
   431 }
   432 
   432 
   433 void do_del(char *arg)
   433 static void do_del(char *arg)
   434 {
   434 {
   435   const char *jid;
   435   const char *jid;
   436 
   436 
   437   if (arg && (*arg)) {
   437   if (arg && (*arg)) {
   438     scr_LogPrint("Wrong usage");
   438     scr_LogPrint("Wrong usage");
   445 
   445 
   446   scr_LogPrint("Removing <%s>...", jid);
   446   scr_LogPrint("Removing <%s>...", jid);
   447   jb_delbuddy(jid);
   447   jb_delbuddy(jid);
   448 }
   448 }
   449 
   449 
   450 void do_group(char *arg)
   450 static void do_group(char *arg)
   451 {
   451 {
   452   gpointer group;
   452   gpointer group;
   453   guint leave_windowbuddy;
   453   guint leave_windowbuddy;
   454 
   454 
   455   if (!arg || (*arg == 0)) {
   455   if (!arg || (*arg == 0)) {
   485   buddylist_build();
   485   buddylist_build();
   486   update_roster = TRUE;
   486   update_roster = TRUE;
   487   if (leave_windowbuddy) scr_ShowBuddyWindow();
   487   if (leave_windowbuddy) scr_ShowBuddyWindow();
   488 }
   488 }
   489 
   489 
   490 void do_say(char *arg)
   490 static void do_say(char *arg)
   491 {
   491 {
   492   gpointer bud;
   492   gpointer bud;
   493 
   493 
   494   scr_set_chatmode(TRUE);
   494   scr_set_chatmode(TRUE);
   495 
   495 
   506 
   506 
   507   buddy_setflags(bud, ROSTER_FLAG_LOCK, TRUE);
   507   buddy_setflags(bud, ROSTER_FLAG_LOCK, TRUE);
   508   send_message(arg);
   508   send_message(arg);
   509 }
   509 }
   510 
   510 
   511 void do_msay(char *arg)
   511 static void do_msay(char *arg)
   512 {
   512 {
   513   /* Parameters: begin verbatim abort send */
   513   /* Parameters: begin verbatim abort send */
   514   gpointer bud;
   514   gpointer bud;
   515 
   515 
   516   if (!strcasecmp(arg, "abort")) {
   516   if (!strcasecmp(arg, "abort")) {
   558   buddy_setflags(bud, ROSTER_FLAG_LOCK, TRUE);
   558   buddy_setflags(bud, ROSTER_FLAG_LOCK, TRUE);
   559   send_message(scr_get_multiline());
   559   send_message(scr_get_multiline());
   560   scr_set_multimode(FALSE);
   560   scr_set_multimode(FALSE);
   561 }
   561 }
   562 
   562 
   563 void do_buffer(char *arg)
   563 static void do_buffer(char *arg)
   564 {
   564 {
   565   if (!strcasecmp(arg, "top")) {
   565   if (!strcasecmp(arg, "top")) {
   566     scr_BufferTop();
   566     scr_BufferTop();
   567   } else if (!strcasecmp(arg, "bottom")) {
   567   } else if (!strcasecmp(arg, "bottom")) {
   568     scr_BufferBottom();
   568     scr_BufferBottom();
   570     scr_Clear();
   570     scr_Clear();
   571   } else
   571   } else
   572     scr_LogPrint("Unrecognized parameter!");
   572     scr_LogPrint("Unrecognized parameter!");
   573 }
   573 }
   574 
   574 
   575 void do_clear(char *arg)    // Alias for "/buffer clear"
   575 static void do_clear(char *arg)    // Alias for "/buffer clear"
   576 {
   576 {
   577   do_buffer("clear");
   577   do_buffer("clear");
   578 }
   578 }
   579 
   579 
   580 void do_info(char *arg)
   580 static void do_info(char *arg)
   581 {
   581 {
   582   gpointer bud;
   582   gpointer bud;
   583   const char *jid, *name, *st_msg;
   583   const char *jid, *name, *st_msg;
   584   guint type;
   584   guint type;
   585   enum imstatus status;
   585   enum imstatus status;
   622   }
   622   }
   623 
   623 
   624   g_free(buffer);
   624   g_free(buffer);
   625 }
   625 }
   626 
   626 
   627 void do_rename(char *arg)
   627 static void do_rename(char *arg)
   628 {
   628 {
   629   gpointer bud;
   629   gpointer bud;
   630   const char *jid, *group;
   630   const char *jid, *group;
   631   guint type;
   631   guint type;
   632   char *newname, *p;
   632   char *newname, *p;
   658 
   658 
   659   g_free(newname);
   659   g_free(newname);
   660   update_roster = TRUE;
   660   update_roster = TRUE;
   661 }
   661 }
   662 
   662 
   663 void do_move(char *arg)
   663 static void do_move(char *arg)
   664 {
   664 {
   665   gpointer bud;
   665   gpointer bud;
   666   const char *jid, *name;
   666   const char *jid, *name;
   667   guint type;
   667   guint type;
   668   char *newgroupname, *p;
   668   char *newgroupname, *p;
   692 
   692 
   693   g_free(newgroupname);
   693   g_free(newgroupname);
   694   update_roster = TRUE;
   694   update_roster = TRUE;
   695 }
   695 }
   696 
   696 
   697 void do_set(char *arg)
   697 static void do_set(char *arg)
   698 {
   698 {
   699   guint assign;
   699   guint assign;
   700   const gchar *option, *value;
   700   const gchar *option, *value;
   701   
   701   
   702   assign = parse_assigment(arg, &option, &value);
   702   assign = parse_assigment(arg, &option, &value);
   722   } else {
   722   } else {
   723     settings_set(SETTINGS_TYPE_OPTION, option, value);
   723     settings_set(SETTINGS_TYPE_OPTION, option, value);
   724   }
   724   }
   725 }
   725 }
   726 
   726 
   727 void do_alias(char *arg)
   727 static void do_alias(char *arg)
   728 {
   728 {
   729   guint assign;
   729   guint assign;
   730   const gchar *alias, *value;
   730   const gchar *alias, *value;
   731   
   731   
   732   assign = parse_assigment(arg, &alias, &value);
   732   assign = parse_assigment(arg, &alias, &value);
   761       compl_add_category_word(COMPL_CMD, alias);
   761       compl_add_category_word(COMPL_CMD, alias);
   762     settings_set(SETTINGS_TYPE_ALIAS, alias, value);
   762     settings_set(SETTINGS_TYPE_ALIAS, alias, value);
   763   }
   763   }
   764 }
   764 }
   765 
   765 
   766 void do_bind(char *arg)
   766 static void do_bind(char *arg)
   767 {
   767 {
   768   guint assign;
   768   guint assign;
   769   const gchar *keycode, *value;
   769   const gchar *keycode, *value;
   770   
   770   
   771   assign = parse_assigment(arg, &keycode, &value);
   771   assign = parse_assigment(arg, &keycode, &value);
   787     settings_del(SETTINGS_TYPE_BINDING, keycode);
   787     settings_del(SETTINGS_TYPE_BINDING, keycode);
   788   else
   788   else
   789     settings_set(SETTINGS_TYPE_BINDING, keycode, value);
   789     settings_set(SETTINGS_TYPE_BINDING, keycode, value);
   790 }
   790 }
   791 
   791 
   792 void do_connect(char *arg)
   792 static void do_connect(char *arg)
   793 {
   793 {
   794   mcabber_connect();
   794   mcabber_connect();
   795 }
   795 }
   796 
   796 
   797 void do_disconnect(char *arg)
   797 static void do_disconnect(char *arg)
   798 {
   798 {
   799   jb_disconnect();
   799   jb_disconnect();
   800 }
   800 }
   801 
   801