Disk ARchive  2.4.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
Public Member Functions
libdar::database Class Reference

the database class defines the dar_manager database More...

#include <database.hpp>

List of all members.

Public Member Functions

 database ()
 this constructor build an empty database
 database (user_interaction &dialog, const std::string &base, const database_open_options &opt)
 this constructor reads database from a file
 ~database ()
 database destructor (no implicit file saving)
void dump (user_interaction &dialog, const std::string &filename, const database_dump_options &opt) 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, const database_add_options &opt)
 add an archive to the database
void remove_archive (archive_num min, archive_num max, const database_remove_options &opt)
 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, const database_change_basename_options &opt)
 change one's archive basename recorded in the database
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
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 database_used_options &opt) 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, const database_restore_options &opt)
 restore files calling dar on the appropriated archive
bool check_order (user_interaction &dialog) const
 check that all files's Data and EA are more recent when archive number grows within the database, only warn the user

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 51 of file database.hpp.


Constructor & Destructor Documentation

libdar::database::database ( user_interaction dialog,
const std::string &  base,
const database_open_options opt 
)

this constructor reads database from a file

Parameters:
[in]dialogfor user interaction
[in]basedatabase filename
[in]optextendable list of options to use for this operation

Member Function Documentation

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

Parameters:
[in]archis the archive to add to the database (may be a partial archive)
[in]cheminis the path to this archive to record in the database
[in]basenameis the archive's basename to record in the database
[in]optextendable list of options to use for this operation
Note:
this method is not available with partially extracted databases.
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

Parameters:
[in]numis the archive index to rename
[in]basenameis the new basename to give to that archive
[in]optoptional parameters for this operation
bool libdar::database::check_order ( user_interaction dialog) const
inline

check that all files's Data and EA are more recent when archive number grows within the database, only warn the user

Parameters:
[in,out]dialogfor user interaction
Returns:
true if check succeeded, false if warning have been issued

Definition at line 186 of file database.hpp.

References libdar::data_dir::check_order().

void libdar::database::dump ( user_interaction dialog,
const std::string &  filename,
const database_dump_options opt 
) const

write the database to a file (see database_header first)

Parameters:
[in]dialogfor user interaction
[in]filenamename of file to save database to
[in]optextendable list of options to use for this operation
std::string libdar::database::get_dar_path ( ) const
inline

return the path for dar

Returns:
the path to dar used when restoring files
Note:
empty string means that dar is taken from the PATH variable

Definition at line 146 of file database.hpp.

void libdar::database::remove_archive ( archive_num  min,
archive_num  max,
const database_remove_options opt 
)

remove an archive from a database

Parameters:
[in]minfirst archive index to remove
[in]maxlast archive index to remove
[in]optextendable list of options to use for this operation
Note:
the archives which indexes are in the range [min-max] are removed. If you want to remove only one archive choose min equal to max.
this method is not available with partially extracted databases.
void libdar::database::restore ( user_interaction dialog,
const std::vector< std::string > &  filename,
const database_restore_options opt 
)

restore files calling dar on the appropriated archive

Parameters:
[in,out]dialogwhere to have user interaction
[in]filenamelist of filename to restore
[in]optextendable list of options to use for this operation
void libdar::database::set_dar_path ( const std::string &  chemin)
inline

change the path to dar command

Parameters:
[in]cheminis the full path to dar (including dar filename) to use for restoration
Note:
if set to an empty string the dar command found from the PATH will be used (if any)

Definition at line 128 of file database.hpp.

void libdar::database::set_options ( const std::vector< std::string > &  opt)
inline

change the default options given to dar when performing restoration

Parameters:
[in]optis a vector a arguments.
Note:
Each element of the vector must match a single argument of the command line like for example "-R". Any leading or trailing space will make a different argument than the one without spaces (" -R" is different than "-R" for example).

Definition at line 122 of file database.hpp.

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

Parameters:
[in]numis the archive index who's path to change
[in]cheminis the new path to give to that archive
[in]optoptional parameters for this operation
void libdar::database::set_permutation ( archive_num  src,
archive_num  dst 
)

change order of archive within the database

Parameters:
[in]srcarchive index to move
[in]dstarchive index to move to
Note:
this method is not available with partially extracted databases.
void libdar::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
void libdar::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.
void libdar::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.
void libdar::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: