]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/dird/expand.c
Backport from BEE
[bacula/bacula] / bacula / src / dird / expand.c
index 3a414342150bec5b044d69aeaa125023705f45c3..c9be63162448909a1a5a6d36d0f1069926ed1c76 100644 (file)
@@ -8,24 +8,20 @@
  *   Version $Id$
  */
 /*
-   Copyright (C) 2003-2004 Kern Sibbald and John Walker
+   Bacula® - The Network Backup Solution
 
-   This program is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License as
-   published by the Free Software Foundation; either version 2 of
-   the License, or (at your option) any later version.
+   Copyright (C) 2003-2014 Free Software Foundation Europe e.V.
 
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-   General Public License for more details.
+   The main author of Bacula is Kern Sibbald, with contributions from many
+   others, a complete list can be found in the file AUTHORS.
 
-   You should have received a copy of the GNU General Public
-   License along with this program; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA.
+   You may use this file and others of this release according to the
+   license defined in the LICENSE file, which includes the Affero General
+   Public License, v3.0 ("AGPLv3") and some additional permissions and
+   terms pursuant to its AGPLv3 Section 7.
 
- */
+   Bacula® is a registered trademark of Kern Sibbald.
+*/
 
 #include "bacula.h"
 #include "dird.h"
@@ -79,23 +75,23 @@ static int job_item(JCR *jcr, int code,
 
    switch (code) {
    case 1:                            /* Job */
-      str = jcr->job->hdr.name;
+      str = jcr->job->name();
       break;
    case 2:                            /* Director's name */
       str = my_name;
       break;
    case 3:                            /* level */
-      str = job_level_to_str(jcr->JobLevel);
+      str = job_level_to_str(jcr->getJobLevel());
       break;
    case 4:                            /* type */
-      str = job_type_to_str(jcr->JobType);
+      str = job_type_to_str(jcr->getJobType());
       break;
    case 5:                            /* JobId */
       bsnprintf(buf, sizeof(buf), "%d", jcr->JobId);
       str = buf;
       break;
    case 6:                            /* Client */
-      str = jcr->client->hdr.name;
+      str = jcr->client->name();
       if (!str) {
          str = " ";
       }
@@ -105,16 +101,24 @@ static int job_item(JCR *jcr, int code,
       str = buf;
       break;
    case 8:                            /* Pool */
-      str = jcr->pool->hdr.name;
+      str = jcr->pool->name();
       break;
    case 9:                            /* Storage */
-      str = jcr->store->hdr.name;
+      if (jcr->wstore) {
+         str = jcr->wstore->name();
+      } else {
+         str = jcr->rstore->name();
+      }
       break;
    case 10:                           /* Catalog */
-      str = jcr->catalog->hdr.name;
+      str = jcr->catalog->name();
       break;
    case 11:                           /* MediaType */
-      str = jcr->store->media_type;
+      if (jcr->wstore) {
+         str = jcr->wstore->media_type;
+      } else {
+         str = jcr->rstore->media_type;
+      }
       break;
    case 12:                           /* JobName */
       str = jcr->Job;
@@ -200,7 +204,7 @@ static var_rc_t lookup_counter_var(var_t *ctx, void *my_ctx,
    buf[var_len] = 0;
    LockRes();
    for (COUNTER *counter=NULL; (counter = (COUNTER *)GetNextRes(R_COUNTER, (RES *)counter)); ) {
-      if (strcmp(counter->hdr.name, buf) == 0) {
+      if (strcmp(counter->name(), buf) == 0) {
          Dmsg2(100, "Counter=%s val=%d\n", buf, counter->CurrentValue);
          /* -1 => return size of array */
         if (var_index == -1) {
@@ -225,19 +229,19 @@ static var_rc_t lookup_counter_var(var_t *ctx, void *my_ctx,
                COUNTER_DBR cr;
                JCR *jcr = (JCR *)my_ctx;
                memset(&cr, 0, sizeof(cr));
-               bstrncpy(cr.Counter, counter->hdr.name, sizeof(cr.Counter));
+               bstrncpy(cr.Counter, counter->name(), sizeof(cr.Counter));
                cr.MinValue = counter->MinValue;
                cr.MaxValue = counter->MaxValue;
                cr.CurrentValue = counter->CurrentValue;
                Dmsg1(100, "New value=%d\n", cr.CurrentValue);
                if (counter->WrapCounter) {
-                  bstrncpy(cr.WrapCounter, counter->WrapCounter->hdr.name, sizeof(cr.WrapCounter));
+                  bstrncpy(cr.WrapCounter, counter->WrapCounter->name(), sizeof(cr.WrapCounter));
                } else {
                   cr.WrapCounter[0] = 0;
                }
                if (!db_update_counter_record(jcr, jcr->db, &cr)) {
                   Jmsg(jcr, M_ERROR, 0, _("Count not update counter %s: ERR=%s\n"),
-                     counter->hdr.name, db_strerror(jcr->db));
+                     counter->name(), db_strerror(jcr->db));
                }
             }
          }
@@ -375,8 +379,8 @@ static var_rc_t operate_var(var_t *var, void *my_ctx,
       Dmsg1(100, "Val=%s\n", buf);
       LockRes();
       for (COUNTER *counter=NULL; (counter = (COUNTER *)GetNextRes(R_COUNTER, (RES *)counter)); ) {
-         if (strcmp(counter->hdr.name, buf) == 0) {
-            Dmsg2(100, "counter=%s val=%s\n", counter->hdr.name, buf);
+         if (strcmp(counter->name(), buf) == 0) {
+            Dmsg2(100, "counter=%s val=%s\n", counter->name(), buf);
             break;
          }
       }