Disk ARchive  2.5.17
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)
void set_auto_zeroing_neg_dates (bool val)
 whether to automatically zeroing negative dates read from the filesystem (just warn, don't ask whether to pursue)
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
bool get_auto_zeroing_neg_dates () 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 263 of file archive_options.hpp.

Member Function Documentation

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

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

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

Definition at line 401 of file archive_options.hpp.

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

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 357 of file archive_options.hpp.

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

defines whether to show treated files

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

Definition at line 311 of file archive_options.hpp.

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

defines whether to ignore files having a given EA

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

Definition at line 385 of file archive_options.hpp.

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

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

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 368 of file archive_options.hpp.

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

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

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 479 of file archive_options.hpp.

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

defines whether the user needs detailed output of the operation

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 305 of file archive_options.hpp.

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

define the archive slicing

[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
if not specified or set to zero, first_file_size is considered equal to file_size

Definition at line 336 of file archive_options.hpp.

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