]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/dird/ua_output.c
Tweak Makefiles + add logrotate to autostart install + start bacula service on WinXP...
[bacula/bacula] / bacula / src / dird / ua_output.c
index 55d81ebb9ce71788e67e59366cad9260cc34e58f..27ac0357724db8a02d1f72641842518a7dfb64ee 100644 (file)
@@ -36,7 +36,7 @@
 /* Imported variables */
 extern int r_first;
 extern int r_last;
-extern struct s_res resources[];
+extern RES_TABLE resources[];
 extern int console_msg_pending;
 extern FILE *con_fd;
 extern brwlock_t con_lock;
@@ -50,7 +50,7 @@ static int do_list_cmd(UAContext *ua, char *cmd, e_list_type llist);
 /*
  * Turn auto display of console messages on/off
  */
-int autodisplaycmd(UAContext *ua, char *cmd)
+int autodisplay_cmd(UAContext *ua, char *cmd)
 {
    static char *kw[] = {
       N_("on"), 
@@ -71,6 +71,31 @@ int autodisplaycmd(UAContext *ua, char *cmd)
    return 1; 
 }
 
+/*
+ * Turn gui processing on/off
+ */
+int gui_cmd(UAContext *ua, char *cmd)
+{
+   static char *kw[] = {
+      N_("on"), 
+      N_("off"),
+      NULL};
+
+   switch (find_arg_keyword(ua, kw)) {
+   case 0:
+      ua->jcr->gui = true;
+      break;
+   case 1:
+      ua->jcr->gui = false;
+      break;
+   default:
+      bsendmsg(ua, _("ON or OFF keyword missing.\n"));
+      break;
+   }
+   return 1; 
+}
+
+
 
 struct showstruct {char *res_name; int type;};
 static struct showstruct reses[] = {
@@ -108,6 +133,7 @@ int show_cmd(UAContext *ua, char *cmd)
    Dmsg1(20, "show: %s\n", ua->UA_sock->msg);
 
 
+   LockRes();
    for (i=1; i<ua->argc; i++) {
       type = 0;
       res_name = ua->argk[i]; 
@@ -126,6 +152,7 @@ int show_cmd(UAContext *ua, char *cmd)
               break;
            }
         }
+
       } else {
         /* Dump a single resource with specified name */
         recurse = 0;
@@ -153,18 +180,20 @@ int show_cmd(UAContext *ua, char *cmd)
         for (j=0; reses[j].res_name; j++) {
             bsendmsg(ua, "%s\n", _(reses[j].res_name));
         }
-        return 1;
+        goto bail_out;
       case -3:
          bsendmsg(ua, _("%s resource %s not found.\n"), res_name, ua->argv[i]);
-        return 1;
+        goto bail_out;
       case 0:
          bsendmsg(ua, _("Resource %s not found\n"), res_name);
-        return 1;
+        goto bail_out;
       default:
         dump_resource(recurse?type:-type, res, bsendmsg, ua);
         break;
       }
    }
+bail_out:
+   UnlockRes();
    return 1;
 }