Disk ARchive
2.7.15
Full featured and portable backup and archiving tool
|
the database class defines the dar_manager database More...
#include <database.hpp>
Classes | |
class | i_database |
the class i_database is the implementation of class database More... | |
Public Member Functions | |
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 | |
database & | operator= (const database &ref)=delete |
disabling assignement operator | |
database & | operator= (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... | |
Private Attributes | |
std::unique_ptr< i_database > | pimpl |
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 51 of file database.hpp.
libdar::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
[in] | dialog | for user interaction |
[in] | base | database filename |
[in] | opt | extendable list of options to use for this operation |
void libdar::database::add_archive | ( | const archive & | arch, |
const std::string & | chemin, | ||
const std::string & | basename, | ||
const database_add_options & | opt | ||
) |
add an archive to the database
[in] | arch | is the archive to add to the database (may be a partial archive) |
[in] | chemin | is the path to this archive to record in the database |
[in] | basename | is the archive's basename to record in the database |
[in] | opt | extendable list of options to use for this operation |
void libdar::database::change_name | ( | archive_num | num, |
const std::string & | basename, | ||
const database_change_basename_options & | opt | ||
) |
change one's archive basename recorded in the database
[in] | num | is the archive index to rename |
[in] | basename | is the new basename to give to that archive |
[in] | opt | optional parameters for this operation |
bool libdar::database::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
void libdar::database::dump | ( | const std::string & | filename, |
const database_dump_options & | opt | ||
) | const |
write the database to a file (see database_header first)
[in] | filename | name of file to save database to |
[in] | opt | extendable list of options to use for this operation |
Referenced by libdar5::database::~database().
std::string libdar::database::get_dar_path | ( | ) | const |
returns the path for dar
void libdar::database::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
[in] | callback | is called to provide each entry in turn from the list |
[in] | context | is given as first argument of the callback as is provided here |
[in] | num | is the archive number to look at |
[in] | opt | optional parameters for this operation |
void libdar::database::get_version | ( | database_listing_get_version_callback | callback, |
void * | context, | ||
path | chemin | ||
) | const |
list the archive where a give file is present
[in] | callback | is used to provide each entry in turn from the list |
[in] | context | is given as first argument of the callback as is provided here |
[in] | chemin | path to the file to look for |
void libdar::database::remove_archive | ( | archive_num | min, |
archive_num | max, | ||
const database_remove_options & | opt | ||
) |
remove an archive from a database
[in] | min | first archive index to remove |
[in] | max | last archive index to remove |
[in] | opt | extendable list of options to use for this operation |
void libdar::database::restore | ( | const std::vector< std::string > & | filename, |
const database_restore_options & | opt | ||
) |
restore files calling dar on the appropriated archive
[in] | filename | list of filename to restore |
[in] | opt | extendable list of options to use for this operation |
void libdar::database::set_dar_path | ( | const std::string & | chemin | ) |
change the path to dar command
[in] | chemin | is the full path to dar (including dar filename) to use for restoration |
void libdar::database::set_options | ( | const std::vector< std::string > & | opt | ) |
change the default options given to dar when performing restoration
[in] | opt | is a vector a arguments. |
void libdar::database::set_path | ( | archive_num | num, |
const std::string & | chemin, | ||
const database_change_path_options & | opt | ||
) |
change one's archive path recorded in the database
[in] | num | is the archive index who's path to change |
[in] | chemin | is the new path to give to that archive |
[in] | opt | optional parameters for this operation |
void libdar::database::set_permutation | ( | archive_num | src, |
archive_num | dst | ||
) |
change order of archive within the database
[in] | src | archive index to move |
[in] | dst | archive index to move to |
void libdar::database::show_most_recent_stats | ( | database_listing_statistics_callback | callback, |
void * | context | ||
) | const |
compute some statistics about the location of most recent file versions
[in] | callback | is used to provide each entry in turn from the list |
[in] | context | is given as first argument of the callback as is provided here |