]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/cats/bvfs.h
Add %D option to edit_job_code, simplify callbacks on director side
[bacula/bacula] / bacula / src / cats / bvfs.h
index 5ed5ea58c5f74cf6ac4b80e8f6a9e70855862c4f..5e5f39fb5aedcc18b59b12bad3c70e1106a93752 100644 (file)
@@ -72,13 +72,8 @@ public:
    Bvfs(JCR *j, B_DB *mdb);
    virtual ~Bvfs();
 
-   void set_jobid(JobId_t id) {
-      Mmsg(jobids, "%lld", (uint64_t)id);
-   }
-
-   void set_jobids(char *ids) {
-      pm_strcpy(jobids, ids);
-   }
+   void set_jobid(JobId_t id);
+   void set_jobids(char *ids);
 
    void set_limit(uint32_t max) {
       limit = max;
@@ -89,8 +84,8 @@ public:
    }
 
    void set_pattern(char *p) {
-      uint32_t len = strlen(p)*2+1;
-      pattern = check_pool_memory_size(pattern, len);
+      uint32_t len = strlen(p);
+      pattern = check_pool_memory_size(pattern, len*2+1);
       db_escape_string(jcr, db, pattern, p, len);
    }
 
@@ -125,6 +120,14 @@ public:
       see_copies = val;
    }
 
+   void filter_jobid();         /* Call after set_username */
+
+   void set_username(char *user) {
+      if (user) {
+         username = bstrdup(user);
+      }
+   }
+
    void set_handler(DB_RESULT_HANDLER *h, void *ctx) {
       list_entries = h;
       user_data = ctx;
@@ -150,6 +153,9 @@ public:
       offset+=limit;
    }
 
+   /* Clear all cache */
+   void clear_cache();
+
    /* Compute restore list */
    bool compute_restore_list(char *fileid, char *dirid, char *hardlink, 
                              char *output_table);
@@ -167,6 +173,7 @@ private:
    JCR *jcr;
    B_DB *db;
    POOLMEM *jobids;
+   char *username;              /* Used with Bweb */
    uint32_t limit;
    uint32_t offset;
    uint32_t nb_record;          /* number of records of the last query */