#include <database.hpp>
Public Member Functions | |
database () | |
this constructor build an empty database | |
database (user_interaction &dialog, const std::string &base, bool partial) | |
this constructor reads database from a file | |
~database () | |
database destructor (no implicit file saving) | |
void | dump (user_interaction &dialog, const std::string &filename, bool overwrite) const |
write the database to a file (see database_header first) | |
void | add_archive (const archive &arch, const std::string &chemin, const std::string &basename) |
add an archive to the database | |
void | remove_archive (archive_num min, archive_num max) |
remove an archive from a database | |
void | set_permutation (archive_num src, archive_num dst) |
change order of archive within the database | |
void | change_name (archive_num num, const std::string &basename) |
change one's archive basename recorded in the database | |
void | set_path (archive_num num, const std::string &chemin) |
change one's archive path recorded in the database | |
void | set_options (const std::vector< std::string > &opt) |
change the default options given to dar when performing restoration | |
void | set_dar_path (const std::string &chemin) |
change the path to dar command | |
void | show_contents (user_interaction &dialog) const |
show 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 |
return the path for dar | |
void | show_files (user_interaction &dialog, archive_num num) const |
list files which are present in a given archive | |
void | show_version (user_interaction &dialog, path chemin) const |
list the archive where a give file is present | |
void | show_most_recent_stats (user_interaction &dialog) const |
compute some statistics about the location of most recent file versions | |
void | restore (user_interaction &dialog, const std::vector< std::string > &filename, bool early_release, const std::vector< std::string > &extra_options_for_dar, const infinint &date=0) |
restore files calling dar on the appropriated archive |
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 49 of file database.hpp.
libdar::database::database | ( | user_interaction & | dialog, | |
const std::string & | base, | |||
bool | partial | |||
) |
void libdar::database::dump | ( | user_interaction & | dialog, | |
const std::string & | filename, | |||
bool | overwrite | |||
) | const |
void libdar::database::add_archive | ( | const archive & | arch, | |
const std::string & | chemin, | |||
const std::string & | basename | |||
) |
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 |
void libdar::database::remove_archive | ( | archive_num | min, | |
archive_num | max | |||
) |
void libdar::database::set_permutation | ( | archive_num | src, | |
archive_num | dst | |||
) |
void libdar::database::change_name | ( | archive_num | num, | |
const std::string & | basename | |||
) |
void libdar::database::set_path | ( | archive_num | num, | |
const std::string & | chemin | |||
) |
void libdar::database::set_options | ( | const std::vector< std::string > & | opt | ) | [inline] |
change the default options given to dar when performing restoration
[in] | opt | is a vector a arguments. |
Definition at line 117 of file database.hpp.
void libdar::database::set_dar_path | ( | const std::string & | chemin | ) | [inline] |
change the path to dar command
[in] | chemin | is the full path to dar (including dar filename) to use for restoration |
Definition at line 123 of file database.hpp.
void libdar::database::show_contents | ( | user_interaction & | dialog | ) | const |
show the list of archive used to build the database
[in,out] | dialog | is the user_interaction to use to report the listing |
std::string libdar::database::get_dar_path | ( | ) | const [inline] |
return the path for dar
Definition at line 141 of file database.hpp.
void libdar::database::show_files | ( | user_interaction & | dialog, | |
archive_num | num | |||
) | const |
void libdar::database::show_version | ( | user_interaction & | dialog, | |
path | chemin | |||
) | const |
void libdar::database::show_most_recent_stats | ( | user_interaction & | dialog | ) | const |
compute some statistics about the location of most recent file versions
[in] | dialog | where to display the listing to |
void libdar::database::restore | ( | user_interaction & | dialog, | |
const std::vector< std::string > & | filename, | |||
bool | early_release, | |||
const std::vector< std::string > & | extra_options_for_dar, | |||
const infinint & | date = 0 | |||
) |
restore files calling dar on the appropriated archive
[in,out] | dialog | where to have user interaction |
[in] | filename | list of filename to restore |
[in] | early_release | if set to true release memory before calling dar, consequences is that many calls to the database are no more possible. |
[in] | extra_options_for_dar | list of options to pass to dar |
[in] | date | passed this date files are ignored. So you can restore files in the most recent state before a certain "date". |
this method is not available with partially extracted databases.
if early_release is true, free almost all memory allocated by the database before calling dar. drawback is that no more action is possible after this call (except destruction) if date is zero the most recent version is looked for, else the last version before (including) the given date is looked for