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

Public Member Functions | Private Member Functions | Private Attributes | List of all members
libdar::archive_options_repair Class Reference
API

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

`#include <archive_options.hpp>`

## Public Member Functions
| archive_options_repair (const archive_options_repair &ref)
| archive_options_repair (archive_options_repair &&ref) noexcept
archive_options_repair & | operator= (const archive_options_repair &ref)
archive_options_repair & | operator= (archive_options_repair &&ref) noexcept
void | clear ()
| reset all the options to their default values
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_slicing (const infinint &file_size, const infinint &first_file_size=0)
| define the archive slicing More...
void | set_execute (const std::string &execute)
| set the command to execute after each slice creation More...
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_empty (bool empty)
| whether to make a dry-run operation
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_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_entrepot (const std::shared_ptr< entrepot > &entr)
| defines the protocol to use for slices
void | set_multi_threaded (bool val)
| whether libdar is allowed to spawn several threads to possibily work faster on multicore CPU (requires libthreadar)
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
const infinint & | get_slice_size () const
const infinint & | get_first_slice_size () 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
bool | get_empty () 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 std::string & | get_user_comment () const
hash_algo | get_hash_algo () const
infinint | get_slice_min_digits () const
const std::shared_ptr< entrepot > & | get_entrepot () const
bool | get_multi_threaded () const

## Private Member Functions
void | nullifyptr () noexcept
void | copy_from (const archive_options_repair &ref)
void | move_from (archive_options_repair &&ref) noexcept

## Private Attributes
bool | x_allow_over
bool | x_warn_over
bool | x_info_details
bool | x_display_treated
bool | x_display_treated_only_dir
bool | x_display_skipped
bool | x_display_finished
infinint | x_pause
infinint | x_file_size
infinint | x_first_file_size
std::string | x_execute
crypto_algo | x_crypto
secu_string | x_pass
U_32 | x_crypto_size
std::vector< std::string > | x_gnupg_recipients
std::vector< std::string > | x_gnupg_signatories
bool | x_empty
std::string | x_slice_permission
std::string | x_slice_user_ownership
std::string | x_slice_group_ownership
std::string | x_user_comment
hash_algo | x_hash
infinint | x_slice_min_digits
std::shared_ptr< entrepot > | x_entrepot
bool | x_multi_threaded

## Detailed Description

class holding optional parameters used to create an archive

Definition at line 1604 of file archive_options.hpp.

## Member Function Documentation

## ◆ set_crypto_pass()

void libdar::archive_options_repair::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 1688 of file archive_options.hpp.

## ◆ set_display_treated()

void libdar::archive_options_repair::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 1645 of file archive_options.hpp.

## ◆ set_execute()

void libdar::archive_options_repair::set_execute | ( | const std::string & | execute | ) |
| inline

set the command to execute after each slice creation

several macros are available:

- %n : the number of the just created slice
- %N : the slice number with padded zeros according to slice_min_digits given option
- %b : the archive basename
- %p : the slices path
- %e : the archive extension (usually "dar")
- %c : the archive context ("init", "operation" or "last_slice") see dar(1) man page for more details
- %%% : substitued by %%

Definition at line 1681 of file archive_options.hpp.

## ◆ set_gnupg_recipients()

void libdar::archive_options_repair::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 1699 of file archive_options.hpp.

## ◆ set_hash_algo()

void libdar::archive_options_repair::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 1723 of file archive_options.hpp.

## ◆ set_info_details()

void libdar::archive_options_repair::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 1639 of file archive_options.hpp.

## ◆ set_slicing()

void libdar::archive_options_repair::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 1661 of file archive_options.hpp.

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

- archive_options.hpp