Disk ARchive  2.5.9
Full featured and portable backup and archiving tool
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules
Public Member Functions | List of all members
libdar::archive_options_create Class Reference

class holding optional parameters used to create an archive More...

#include <archive_options.hpp>

Inherits libdar::on_pool.

Public Member Functions

 archive_options_create (const archive_options_create &ref)
 
const archive_options_createoperator= (const archive_options_create &ref)
 
void clear ()
 reset all the options to their default values
 
void set_reference (archive *ref_arch)
 set the archive to take as reference (nullptr for a full backup)
 
void set_selection (const mask &selection)
 defines the filenames to only save (except directory) as those that match the given mask
 
void set_subtree (const mask &subtree)
 defines the directory and files to consider (this mask will be applied to the absolute path of files being proceeded)
 
void set_allow_over (bool allow_over)
 defines whether overwritting is allowed or not
 
void set_warn_over (bool warn_over)
 defines whether a warning shall be issued before overwriting
 
void set_info_details (bool info_details)
 
void set_display_treated (bool display_treated, bool only_dir)
 
void set_display_skipped (bool display_skipped)
 whether to display files that have been excluded by filters
 
void set_display_finished (bool display_finished)
 whether to display a summary for each completed directory with total saved data and compression ratio
 
void set_pause (const infinint &pause)
 set a pause beteween slices. Set to zero does not pause at all, set to 1 makes libdar pauses each slice, set to 2 makes libdar pause each 2 slices and so on.
 
void set_empty_dir (bool empty_dir)
 defines whether we need to store ignored directories as empty
 
void set_compression (compression compr_algo)
 set the compression algorithm to be used
 
void set_compression_level (U_I compression_level)
 set the compression level (from 1 to 9)
 
void set_slicing (const infinint &file_size, const infinint &first_file_size=0)
 define the archive slicing More...
 
void set_ea_mask (const mask &ea_mask)
 defines which Extended Attributes to save
 
void set_execute (const std::string &execute)
 set the command to execute after each slice creation
 
void set_crypto_algo (crypto_algo crypto)
 set the cypher to use
 
void set_crypto_pass (const secu_string &pass)
 
void set_crypto_size (U_32 crypto_size)
 set the size of the encryption by block to use
 
void set_gnupg_recipients (const std::vector< std::string > &gnupg_recipients)
 
void set_gnupg_signatories (const std::vector< std::string > &gnupg_signatories)
 the private keys matching the email of the provided list are used to sign the archive random key
 
void set_compr_mask (const mask &compr_mask)
 defines files to compress
 
void set_min_compr_size (const infinint &min_compr_size)
 defines file size under which to never compress
 
void set_nodump (bool nodump)
 defines whether to ignore files with the nodump flag set
 
void set_exclude_by_ea (const std::string &ea_name)
 
void set_what_to_check (cat_inode::comparison_fields what_to_check)
 set the fields to consider when comparing inodes with reference archive (see cat_inode::comparison_fields enumeration in catalogue.hpp)
 
void set_hourshift (const infinint &hourshift)
 ignore differences of at most this integer number of hours while looking for changes in dates
 
void set_empty (bool empty)
 whether to make a dry-run operation
 
void set_alter_atime (bool alter_atime)
 whether to alter atime or ctime in the filesystem when reading files to save More...
 
void set_furtive_read_mode (bool furtive_read)
 whether to use furtive read mode (if activated, alter_atime() has no meaning/use)
 
void set_same_fs (bool same_fs)
 whether to limit the backup to files located on the same filesystem as the directory taken as root of the backup
 
void set_snapshot (bool snapshot)
 whether to make an emtpy archive only referencing the current state of files in the filesystem
 
void set_cache_directory_tagging (bool cache_directory_tagging)
 whether to consider the Cache Directory Tagging Standard
 
void set_fixed_date (const infinint &fixed_date)
 whether to ignore any archive of reference and only save file which modification is more recent that the given "fixed_date". To not use this feature set fixed_date value of zero (which is the value by default)
 
void set_slice_permission (const std::string &slice_permission)
 if not an empty string set the slice permission according to the octal value given.
 
void set_slice_user_ownership (const std::string &slice_user_ownership)
 if not an empty string set the user ownership of slices accordingly
 
void set_slice_group_ownership (const std::string &slice_group_ownership)
 if not an empty string set the group ownership of slices accordingly
 
void set_retry_on_change (const infinint &count_max_per_file, const infinint &global_max_byte_overhead=0)
 how much time to retry saving a file if it changed while being read
 
void set_sequential_marks (bool sequential)
 whether to add escape sequence aka tape marks to allow sequential reading of the archive
 
void set_sparse_file_min_size (const infinint &size)
 whether to try to detect sparse files
 
void set_security_check (bool check)
 whether to check for ctime changes since with the archive of reference
 
void set_user_comment (const std::string &comment)
 specify a user comment in the archive (always in clear text!)
 
void set_hash_algo (hash_algo hash)
 
void set_slice_min_digits (infinint val)
 defines the minimum digit a slice must have concerning its number, zeros will be prepended as much as necessary to respect this
 
void set_backup_hook (const std::string &execute, const mask &which_files)
 defines the backup hook for files
 
void set_ignore_unknown_inode_type (bool val)
 whether to ignore unknown inode types instead of issuing a warning
 
void set_entrepot (const entrepot &entr)
 defines the protocol to use for slices
 
void set_fsa_scope (const fsa_scope &scope)
 defines the FSA (Filesystem Specific Attribute) to only consider (by default all FSA activated at compilation time are considered)
 
void set_multi_threaded (bool val)
 whether libdar is allowed to spawn several threads to possibily work faster on multicore CPU (requires libthreadar)
 
archiveget_reference () const
 
const maskget_selection () const
 
const maskget_subtree () const
 
bool get_allow_over () const
 
bool get_warn_over () const
 
bool get_info_details () const
 
bool get_display_treated () const
 
bool get_display_treated_only_dir () const
 
bool get_display_skipped () const
 
bool get_display_finished () const
 
const infinintget_pause () const
 
bool get_empty_dir () const
 
compression get_compression () const
 
U_I get_compression_level () const
 
const infinintget_slice_size () const
 
const infinintget_first_slice_size () const
 
const maskget_ea_mask () const
 
const std::string & get_execute () const
 
crypto_algo get_crypto_algo () const
 
const secu_stringget_crypto_pass () const
 
U_32 get_crypto_size () const
 
const std::vector< std::string > & get_gnupg_recipients () const
 
const std::vector< std::string > & get_gnupg_signatories () const
 
const maskget_compr_mask () const
 
const infinintget_min_compr_size () const
 
bool get_nodump () const
 
const std::string & get_exclude_by_ea () const
 
cat_inode::comparison_fields get_comparison_fields () const
 
const infinintget_hourshift () const
 
bool get_empty () const
 
bool get_alter_atime () const
 
bool get_furtive_read_mode () const
 
bool get_same_fs () const
 
bool get_snapshot () const
 
bool get_cache_directory_tagging () const
 
const infinintget_fixed_date () const
 
const std::string & get_slice_permission () const
 
const std::string & get_slice_user_ownership () const
 
const std::string & get_slice_group_ownership () const
 
const infinintget_repeat_count () const
 
const infinintget_repeat_byte () const
 
bool get_sequential_marks () const
 
infinint get_sparse_file_min_size () const
 
bool get_security_check () const
 
const std::string & get_user_comment () const
 
hash_algo get_hash_algo () const
 
infinint get_slice_min_digits () const
 
const std::string & get_backup_hook_file_execute () const
 
const maskget_backup_hook_file_mask () const
 
bool get_ignore_unknown_inode_type () const
 
const entrepotget_entrepot () const
 
const fsa_scope & get_fsa_scope () const
 
bool get_multi_threaded () const
 
- Public Member Functions inherited from libdar::on_pool
void * operator new (size_t n_byte)
 
void * operator new (size_t n_byte, const std::nothrow_t &nothrow_value)
 
void * operator new[] (size_t n_byte)
 
void * operator new[] (size_t n_byte, const std::nothrow_t &nothrow_value)
 
void * operator new (size_t n_byte, memory_pool *p)
 
void * operator new[] (size_t n_byte, memory_pool *p)
 
void operator delete (void *ptr, memory_pool *p)
 this operator is called by the compiler if an exception is throw from the constructor of the allocated object
 
void operator delete[] (void *ptr, memory_pool *p)
 this operator is called by the compiler if an exception is throw from the constructor of the allocated objects
 
void operator delete (void *ptr)
 this is the usual delete operator, modified to handle allocated objects allocated on a memory pool or not
 
void operator delete[] (void *ptr)
 this is the usual delete[] operator, modified to handle allocated objects allocated on a memory pool or not
 

Additional Inherited Members

- Protected Member Functions inherited from libdar::on_pool
memory_pool * get_pool () const
 
template<class T >
void meta_new (T *&ptr, size_t num)
 
template<class T >
void meta_delete (T *ptr)
 

Detailed Description

class holding optional parameters used to create an archive

Definition at line 259 of file archive_options.hpp.

Member Function Documentation

void libdar::archive_options_create::set_alter_atime ( bool  alter_atime)
inline

whether to alter atime or ctime in the filesystem when reading files to save

Parameters
[in]alter_atimewhether to change atime (true) or ctime (false)
Note
this parameter is used only when furtive_read_mode() is not activated

Definition at line 397 of file archive_options.hpp.

void libdar::archive_options_create::set_crypto_pass ( const secu_string pass)
inline

set the pass the password / passphrase to use. Giving an empty string makes the password asked interactively through the dialog argument if encryption has been set.

Definition at line 353 of file archive_options.hpp.

void libdar::archive_options_create::set_display_treated ( bool  display_treated,
bool  only_dir 
)
inline

defines whether to show treated files

Parameters
[in]display_treatedtrue to display processed inodes
[in]only_dironly display the current directory under process, not its individual files

Definition at line 307 of file archive_options.hpp.

void libdar::archive_options_create::set_exclude_by_ea ( const std::string &  ea_name)
inline

defines whether to ignore files having a given EA

Note
if ea_name is set to "" the default ea_name "user.libdar_no_backup" is used.

Definition at line 381 of file archive_options.hpp.

void libdar::archive_options_create::set_gnupg_recipients ( const std::vector< std::string > &  gnupg_recipients)
inline

set the list of recipients that will be able to read the archive

Note
this is based on GnuPG keyring and assumes the user running libdar has its keyring containing for each recipient a valid public key. If a list of recipient is given the crypto_pass (see above) is not used, but the crypto_algo stays used to encrypt the archive using a randomly generated key which is encrypted using the public keys of the recipients and dropped that way encrypted inside the archive.
if crypto_algo is not set while a list of recipient is given, the crypto algo will default to blowfish

Definition at line 364 of file archive_options.hpp.

void libdar::archive_options_create::set_hash_algo ( hash_algo  hash)
inline

specify whether to produce a hash file of the slice and which hash algo to use

Note
the libdar::hash_algo data type is defined in hash_fichier.hpp, valid values are for examle libdar::hash_none, libdar::hash_md5, libdar::hash_sha1, libdar::hash_sha512...

Definition at line 475 of file archive_options.hpp.

void libdar::archive_options_create::set_info_details ( bool  info_details)
inline

defines whether the user needs detailed output of the operation

Note
in API 5.5.x and before this switch drove the displaying of processing messages and treated files. now it only drives the display of processing messages, use set_display_treated to define whether files under treatement should be display or not

Definition at line 301 of file archive_options.hpp.

void libdar::archive_options_create::set_slicing ( const infinint file_size,
const infinint first_file_size = 0 
)
inline

define the archive slicing

Parameters
[in]file_sizeset the slice size in byte (0 for a single slice whatever its size is)
[in]first_file_sizeset the first file size
Note
if not specified or set to zero, first_file_size is considered equal to file_size

Definition at line 332 of file archive_options.hpp.


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