} bvfs_handler_type;
typedef enum {
- BVFS_Id = 0,
+ BVFS_Id = 0, /* Could be PathId or FilenameId */
BVFS_Name = 1,
BVFS_JobId = 2,
BVFS_LStat = 3,
virtual ~Bvfs();
void set_jobid(JobId_t id) {
- Mmsg(jobids, "%lld", (uint64_t)id);
+ Mmsg(jobids.list, "%lld", (uint64_t)id);
}
void set_jobids(char *ids) {
- pm_strcpy(jobids, ids);
+ pm_strcpy(jobids.list, ids);
}
void set_limit(uint32_t max) {
/*
* Returns true if the directory exists
*/
- bool ch_dir(char *path);
+ bool ch_dir(const char *path);
bool ls_files(); /* Returns true if we have more files to read */
bool ls_dirs(); /* Returns true if we have more dir to read */
void ls_special_dirs(); /* get . and .. */
- void get_all_file_versions(DBId_t pathid, DBId_t fnid, char *client);
+ void get_all_file_versions(DBId_t pathid, DBId_t fnid, const char *client);
void update_cache();
/* for internal use */
int _handle_path(void *, int, char **);
-private:
+private:
+ Bvfs(const Bvfs &); /* prohibit pass by value */
+ Bvfs & operator = (const Bvfs &); /* prohibit class assignment */
+
JCR *jcr;
B_DB *db;
- POOLMEM *jobids;
+ db_list_ctx jobids;
uint32_t limit;
uint32_t offset;
uint32_t nb_record; /* number of records of the last query */
void *user_data;
};
-void bvfs_update_path_hierarchy_cache(JCR *jcr, B_DB *mdb, char *jobids);
+void bvfs_update_path_hierarchy_cache(JCR *jcr, B_DB *mdb, db_list_ctx *jobids);
void bvfs_update_cache(JCR *jcr, B_DB *mdb);
char *bvfs_parent_dir(char *path);