]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/lib/util.c
Drop removed catalog function prototype.
[bacula/bacula] / bacula / src / lib / util.c
index 3ffa4f40fdf3e470af2cfefc4e22b9930ca5ae19..8a3e56453cb491e77b648bdc581bbe39db81ccfe 100644 (file)
@@ -1,12 +1,12 @@
 /*
    Bacula® - The Network Backup Solution
 
-   Copyright (C) 2000-2008 Free Software Foundation Europe e.V.
+   Copyright (C) 2000-2009 Free Software Foundation Europe e.V.
 
    The main author of Bacula is Kern Sibbald, with contributions from
    many others, a complete list can be found in the file AUTHORS.
    This program is Free Software; you can redistribute it and/or
-   modify it under the terms of version two of the GNU General Public
+   modify it under the terms of version three of the GNU Affero General Public
    License as published by the Free Software Foundation and included
    in the file LICENSE.
 
@@ -15,7 +15,7 @@
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    General Public License for more details.
 
-   You should have received a copy of the GNU General Public License
+   You should have received a copy of the GNU Affero General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
@@ -134,10 +134,11 @@ unbash_spaces(POOL_MEM &pm)
    }
 }
 
-char *encode_time(time_t time, char *buf)
+char *encode_time(utime_t utime, char *buf)
 {
    struct tm tm;
    int n = 0;
+   time_t time = utime;
 
 #if defined(HAVE_WIN32)
    /*
@@ -194,6 +195,9 @@ void jobstatus_to_ascii(int JobStatus, char *msg, int maxlen)
    case JS_Error:
       jobstat = _("Non-fatal error");
       break;
+   case JS_Warnings:
+      jobstat = _("OK -- with warnings");
+      break;
    case JS_Canceled:
       jobstat = _("Canceled");
       break;
@@ -265,6 +269,9 @@ void jobstatus_to_ascii_gui(int JobStatus, char *msg, int maxlen)
    case JS_Terminated:
       cnv = _("Completed successfully");
       break;
+   case JS_Warnings:
+      cnv = _("Completed with warnings");
+      break;
    case JS_ErrorTerminated:
       cnv = _("Terminated with errors");
       break;
@@ -297,7 +304,7 @@ void jobstatus_to_ascii_gui(int JobStatus, char *msg, int maxlen)
    if (cnv) {
       bstrncpy(msg, cnv, maxlen);
    } else {
-     jobstatus_to_ascii( JobStatus, msg, maxlen);
+     jobstatus_to_ascii(JobStatus, msg, maxlen);
    }
 }
 
@@ -313,6 +320,9 @@ const char *job_status_to_str(int stat)
    case JS_Terminated:
       str = _("OK");
       break;
+   case JS_Warnings:
+      str = _("OK -- with warnings");
+      break;
    case JS_ErrorTerminated:
    case JS_Error:
       str = _("Error");
@@ -339,43 +349,65 @@ const char *job_status_to_str(int stat)
  */
 const char *job_type_to_str(int type)
 {
-   const char *str;
+   const char *str = NULL;
 
    switch (type) {
    case JT_BACKUP:
       str = _("Backup");
       break;
+   case JT_MIGRATED_JOB:
+      str = _("Migrated Job");
+      break;
    case JT_VERIFY:
       str = _("Verify");
       break;
    case JT_RESTORE:
       str = _("Restore");
       break;
+   case JT_CONSOLE:
+      str = _("Console");
+      break;
+   case JT_SYSTEM:
+      str = _("System or Console");
+      break;
    case JT_ADMIN:
       str = _("Admin");
       break;
-   case JT_MIGRATE:
-      str = _("Migrate");
+   case JT_ARCHIVE:
+      str = _("Archive");
+      break;
+   case JT_JOB_COPY:
+      str = _("Job Copy");
       break;
    case JT_COPY:
       str = _("Copy");
       break;
-   case JT_CONSOLE:
-      str = _("Console");
-      break;
-   case JT_SYSTEM:
-      str = _("System or Console");
+   case JT_MIGRATE:
+      str = _("Migrate");
       break;
    case JT_SCAN:
       str = _("Scan");
       break;
-   default:
-      str = _("Unknown Type");
-      break;
    }
+   if (!str) {
+      str = _("Unknown Type");
+   }   
    return str;
 }
 
+/* Convert ActionOnPurge to string (Truncate, Erase, Destroy)
+ */
+char *action_on_purge_to_string(int aop, POOL_MEM &ret)
+{
+   if (aop & ON_PURGE_TRUNCATE) {
+      pm_strcpy(ret, _("Truncate"));
+   }
+   if (!aop) {
+      pm_strcpy(ret, _("None"));
+   }
+   return ret.c_str();
+}
+
 /*
  * Convert Job Level into a string
  */
@@ -413,6 +445,9 @@ const char *job_level_to_str(int level)
    case L_VERIFY_DATA:
       str = _("Verify Data");
       break;
+   case L_VIRTUAL_FULL:
+      str = _("Virtual Full");
+      break;
    case L_NONE:
       str = " ";
       break;
@@ -433,6 +468,7 @@ const char *volume_status_to_str(const char *status)
       NT_("Full"),      _("Full"),
       NT_("Used"),      _("Used"),
       NT_("Cleaning"),  _("Cleaning"),
+      NT_("Purged"),    _("Purged"),
       NT_("Recycle"),   _("Recycle"),
       NT_("Read-Only"), _("Read-Only"),
       NT_("Error"),     _("Error"),
@@ -441,7 +477,7 @@ const char *volume_status_to_str(const char *status)
    if (status) {
      for (pos = 0 ; vs[pos] ; pos += 2) {
        if ( !strcmp(vs[pos],status) ) {
-        return vs[pos+1];
+         return vs[pos+1];
        }
      }
    }
@@ -682,6 +718,8 @@ void decode_session_key(char *decode, char *session, char *key, int maxlen)
  *  %t = Job type (Backup, ...)
  *  %r = Recipients
  *  %v = Volume name
+ *  %b = Job Bytes
+ *  %f = Job Files
  *
  *  omsg = edited output message
  *  imsg = input string containing edit codes (%x)
@@ -692,7 +730,7 @@ POOLMEM *edit_job_codes(JCR *jcr, char *omsg, char *imsg, const char *to, job_co
 {
    char *p, *q;
    const char *str;
-   char add[20];
+   char add[50];
    char name[MAX_NAME_LENGTH];
    int i;
 
@@ -738,7 +776,7 @@ POOLMEM *edit_job_codes(JCR *jcr, char *omsg, char *imsg, const char *to, job_co
             break;
          case 'l':
             if (jcr) {
-               str = job_level_to_str(jcr->JobLevel);
+               str = job_level_to_str(jcr->getJobLevel());
             } else {
                str = _("*none*");
             }
@@ -767,9 +805,15 @@ POOLMEM *edit_job_codes(JCR *jcr, char *omsg, char *imsg, const char *to, job_co
                str = _("*none*");
             }
             break;
+         case 'f':                    /* Job Files */
+            str = edit_uint64(jcr->JobFiles, add);
+            break;
+         case 'b':                    /* Job Bytes */
+            str = edit_uint64(jcr->JobBytes, add);
+            break;
          case 't':
             if (jcr) {
-               str = job_type_to_str(jcr->JobType);
+               str = job_type_to_str(jcr->getJobType());
             } else {
                str = _("*none*");
             }