| Disk ARchive 2.5.10 Full featured and portable backup and archiving tool

- Main Page
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | List of all members
libdar::archive_options_create Class Reference
API

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_create & | operator= (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)
archive * | get_reference () const
const mask & | get_selection () const
const mask & | get_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 infinint & | get_pause () const
bool | get_empty_dir () const
compression | get_compression () const
U_I | get_compression_level () const
const infinint & | get_slice_size () const
const infinint & | get_first_slice_size () const
const mask & | get_ea_mask () const
const std::string & | get_execute () const
crypto_algo | get_crypto_algo () const
const secu_string & | get_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 mask & | get_compr_mask () const
const infinint & | get_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 infinint & | get_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 infinint & | get_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 infinint & | get_repeat_count () const
const infinint & | get_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 mask & | get_backup_hook_file_mask () const
bool | get_ignore_unknown_inode_type () const
const entrepot & | get_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_atime | whether 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_treated | true to display processed inodes
  [in] | only_dir | only 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_size | set the slice size in byte (0 for a single slice whatever its size is)
  [in] | first_file_size | set 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:

- archive_options.hpp