Disk ARchive  2.7.14
Full featured and portable backup and archiving tool
Public Member Functions | Static Private Member Functions | List of all members
libdar5::database Class Reference

the database class defines the dar_manager database More...

#include <database5.hpp>

+ Inheritance diagram for libdar5::database:
+ Collaboration diagram for libdar5::database:

Public Member Functions

 database (user_interaction &dialog, const std::string &base, const database_open_options &opt)
 
 database (const database &ref)=delete
 disabling copy constructor
 
 database (database &&ref) noexcept=delete
 disabling move constructor
 
databaseoperator= (const database &ref)=delete
 disabling assignement operator
 
databaseoperator= (database &&ref) noexcept=delete
 disabling move assignment operator
 
 ~database ()=default
 database destructor (no implicit file saving)
 
void dump (user_interaction &dialog, const std::string &filename, const database_dump_options &opt) const
 
void show_contents (user_interaction &dialog) const
 show the list of archive used to build the database More...
 
void show_files (user_interaction &dialog, archive_num num, const database_used_options &opt) const
 list files which are present in a given archive More...
 
void show_version (user_interaction &dialog, path chemin) const
 list the archive where a give file is present More...
 
void show_most_recent_stats (user_interaction &dialog) const
 compute some statistics about the location of most recent file versions More...
 
void restore (user_interaction &dialog, const std::vector< std::string > &filename, const database_restore_options &opt)
 
bool check_order (user_interaction &dialog) const
 
- Public Member Functions inherited from libdar::database
 database (const std::shared_ptr< user_interaction > &dialog)
 this constructor build an empty database
 
 database (const std::shared_ptr< user_interaction > &dialog, const std::string &base, const database_open_options &opt)
 this constructor reads database from a file More...
 
 database (const database &ref)=delete
 disabling copy constructor
 
 database (database &&ref) noexcept=delete
 disabling move constructor
 
databaseoperator= (const database &ref)=delete
 disabling assignement operator
 
databaseoperator= (database &&ref) noexcept=delete
 disabling move assignment operator
 
 ~database ()
 database destructor (no implicit file saving)
 
void dump (const std::string &filename, const database_dump_options &opt) const
 write the database to a file (see database_header first) More...
 
void add_archive (const archive &arch, const std::string &chemin, const std::string &basename, const database_add_options &opt)
 add an archive to the database More...
 
void remove_archive (archive_num min, archive_num max, const database_remove_options &opt)
 remove an archive from a database More...
 
void set_permutation (archive_num src, archive_num dst)
 change order of archive within the database More...
 
void change_name (archive_num num, const std::string &basename, const database_change_basename_options &opt)
 change one's archive basename recorded in the database More...
 
void set_path (archive_num num, const std::string &chemin, const database_change_path_options &opt)
 change one's archive path recorded in the database More...
 
void set_options (const std::vector< std::string > &opt)
 change the default options given to dar when performing restoration More...
 
void set_dar_path (const std::string &chemin)
 change the path to dar command More...
 
void set_compression (compression algozip) const
 change compression to use when storing base in file
 
void set_compression_level (U_I compr_level) const
 change the compression level to use when storing base in file
 
database_archives_list get_contents () const
 provides the list of archive used to build the database
 
std::vector< std::string > get_options () const
 return the options used with dar for restoration
 
std::string get_dar_path () const
 returns the path for dar More...
 
compression get_compression () const
 returns the compression algorithm used on filesystem
 
U_I get_compression_level () const
 returns the compression level used on file
 
std::string get_database_version () const
 return the database format version
 
void get_files (database_listing_show_files_callback callback, void *context, archive_num num, const database_used_options &opt) const
 list files which are present in a given archive More...
 
void get_version (database_listing_get_version_callback callback, void *context, path chemin) const
 list the archive where a give file is present More...
 
void show_most_recent_stats (database_listing_statistics_callback callback, void *context) const
 compute some statistics about the location of most recent file versions More...
 
void restore (const std::vector< std::string > &filename, const database_restore_options &opt)
 restore files calling dar on the appropriated archive More...
 
bool check_order () const
 check that all files's Data and EA are more recent when archive number grows within the database, only warn the user More...
 

Static Private Member Functions

static void show_files_callback (void *tag, const std::string &filename, bool available_data, bool available_ea)
 
static void get_version_callback (void *tag, archive_num num, db_etat data_presence, bool has_data_date, datetime data, db_etat ea_presence, bool has_ea_date, datetime ea)
 
static void statistics_callback (void *tag, U_I number, const infinint &data_count, const infinint &total_data, const infinint &ea_count, const infinint &total_ea)
 

Detailed Description

the database class defines the dar_manager database

all operations for a dar_manager database are defines through the use of this class interface. This class also defines internally the data structure of the database.

Definition at line 81 of file database5.hpp.

Member Function Documentation

◆ show_contents()

void libdar5::database::show_contents ( user_interaction dialog) const

show the list of archive used to build the database

Parameters
[in,out]dialogis the user_interaction to use to report the listing

◆ show_files()

void libdar5::database::show_files ( user_interaction dialog,
archive_num  num,
const database_used_options opt 
) const

list files which are present in a given archive

Parameters
[in,out]dialogwhere to display listing to
[in]numis the archive number to look at
[in]optoptional parameters for this operation
Note
if "num" is set to zero all archive contents is listed
this method is not available with partially extracted databases.

◆ show_most_recent_stats()

void libdar5::database::show_most_recent_stats ( user_interaction dialog) const

compute some statistics about the location of most recent file versions

Parameters
[in]dialogwhere to display the listing to
Note
this method is not available with partially extracted databases.

◆ show_version()

void libdar5::database::show_version ( user_interaction dialog,
path  chemin 
) const

list the archive where a give file is present

Parameters
[in,out]dialogwhere to display the listing to
[in]cheminpath to the file to look for
Note
this method is not available with partially extracted databases.

The documentation for this class was generated from the following file: