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

Loading...
Searching...
No Matches
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
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)
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)
void | set_multi_threaded_crypto (U_I num)
| how much thread libdar will use for cryptography (need libthreadar to be effective)
void | set_multi_threaded_compress (U_I num)
| how much thread libdar will use for compression (need libthreadar too and compression_block_size > 0)
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
U_I | get_multi_threaded_crypto () const
U_I | get_multi_threaded_compress () 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
U_I | x_multi_threaded_crypto
U_I | x_multi_threaded_compress

## Detailed Description

class holding optional parameters used to create an archive

Definition at line 1719 of file archive_options.hpp.

## Constructor & Destructor Documentation

## ◆ archive_options_repair()

libdar::archive_options_repair::archive_options_repair | ( | archive_options_repair && | ref | ) |
| inline noexcept

Definition at line 1726 of file archive_options.hpp.

## Member Function Documentation

## ◆ get_allow_over()

bool libdar::archive_options_repair::get_allow_over | ( |  | ) | const
| inline

Definition at line 1865 of file archive_options.hpp.

## ◆ get_crypto_algo()

crypto_algo libdar::archive_options_repair::get_crypto_algo | ( |  | ) | const
| inline

Definition at line 1876 of file archive_options.hpp.

## ◆ get_crypto_pass()

const secu_string & libdar::archive_options_repair::get_crypto_pass | ( |  | ) | const
| inline

Definition at line 1877 of file archive_options.hpp.

## ◆ get_crypto_size()

U_32 libdar::archive_options_repair::get_crypto_size | ( |  | ) | const
| inline

Definition at line 1878 of file archive_options.hpp.

## ◆ get_display_finished()

bool libdar::archive_options_repair::get_display_finished | ( |  | ) | const
| inline

Definition at line 1871 of file archive_options.hpp.

## ◆ get_display_skipped()

bool libdar::archive_options_repair::get_display_skipped | ( |  | ) | const
| inline

Definition at line 1870 of file archive_options.hpp.

## ◆ get_display_treated()

bool libdar::archive_options_repair::get_display_treated | ( |  | ) | const
| inline

Definition at line 1868 of file archive_options.hpp.

## ◆ get_display_treated_only_dir()

bool libdar::archive_options_repair::get_display_treated_only_dir | ( |  | ) | const
| inline

Definition at line 1869 of file archive_options.hpp.

## ◆ get_empty()

bool libdar::archive_options_repair::get_empty | ( |  | ) | const
| inline

Definition at line 1881 of file archive_options.hpp.

## ◆ get_entrepot()

const std::shared_ptr< entrepot > & libdar::archive_options_repair::get_entrepot | ( |  | ) | const
| inline

Definition at line 1888 of file archive_options.hpp.

## ◆ get_execute()

const std::string & libdar::archive_options_repair::get_execute | ( |  | ) | const
| inline

Definition at line 1875 of file archive_options.hpp.

## ◆ get_first_slice_size()

const infinint & libdar::archive_options_repair::get_first_slice_size | ( |  | ) | const
| inline

Definition at line 1874 of file archive_options.hpp.

## ◆ get_gnupg_recipients()

const std::vector< std::string > & libdar::archive_options_repair::get_gnupg_recipients | ( |  | ) | const
| inline

Definition at line 1879 of file archive_options.hpp.

## ◆ get_gnupg_signatories()

const std::vector< std::string > & libdar::archive_options_repair::get_gnupg_signatories | ( |  | ) | const
| inline

Definition at line 1880 of file archive_options.hpp.

## ◆ get_hash_algo()

hash_algo libdar::archive_options_repair::get_hash_algo | ( |  | ) | const
| inline

Definition at line 1886 of file archive_options.hpp.

## ◆ get_info_details()

bool libdar::archive_options_repair::get_info_details | ( |  | ) | const
| inline

Definition at line 1867 of file archive_options.hpp.

## ◆ get_multi_threaded_compress()

U_I libdar::archive_options_repair::get_multi_threaded_compress | ( |  | ) | const
| inline

Definition at line 1890 of file archive_options.hpp.

## ◆ get_multi_threaded_crypto()

U_I libdar::archive_options_repair::get_multi_threaded_crypto | ( |  | ) | const
| inline

Definition at line 1889 of file archive_options.hpp.

## ◆ get_pause()

const infinint & libdar::archive_options_repair::get_pause | ( |  | ) | const
| inline

Definition at line 1872 of file archive_options.hpp.

## ◆ get_slice_group_ownership()

const std::string & libdar::archive_options_repair::get_slice_group_ownership | ( |  | ) | const
| inline

Definition at line 1884 of file archive_options.hpp.

## ◆ get_slice_min_digits()

infinint libdar::archive_options_repair::get_slice_min_digits | ( |  | ) | const
| inline

Definition at line 1887 of file archive_options.hpp.

## ◆ get_slice_permission()

const std::string & libdar::archive_options_repair::get_slice_permission | ( |  | ) | const
| inline

Definition at line 1882 of file archive_options.hpp.

## ◆ get_slice_size()

const infinint & libdar::archive_options_repair::get_slice_size | ( |  | ) | const
| inline

Definition at line 1873 of file archive_options.hpp.

## ◆ get_slice_user_ownership()

const std::string & libdar::archive_options_repair::get_slice_user_ownership | ( |  | ) | const
| inline

Definition at line 1883 of file archive_options.hpp.

## ◆ get_user_comment()

const std::string & libdar::archive_options_repair::get_user_comment | ( |  | ) | const
| inline

Definition at line 1885 of file archive_options.hpp.

## ◆ get_warn_over()

bool libdar::archive_options_repair::get_warn_over | ( |  | ) | const
| inline

Definition at line 1866 of file archive_options.hpp.

## ◆ nullifyptr()

void libdar::archive_options_repair::nullifyptr | ( |  | ) |
| inline private noexcept

Definition at line 1920 of file archive_options.hpp.

## ◆ operator=() [1/2]

archive_options_repair & libdar::archive_options_repair::operator= | ( | archive_options_repair && | ref | ) |
| inline noexcept

Definition at line 1728 of file archive_options.hpp.

## ◆ operator=() [2/2]

archive_options_repair & libdar::archive_options_repair::operator= | ( | const archive_options_repair & | ref | ) |
| inline

Definition at line 1727 of file archive_options.hpp.

## ◆ set_allow_over()

void libdar::archive_options_repair::set_allow_over | ( | bool | allow_over | ) |
| inline

defines whether overwritting is allowed or not

Definition at line 1743 of file archive_options.hpp.

## ◆ set_crypto_algo()

void libdar::archive_options_repair::set_crypto_algo | ( | crypto_algo | crypto | ) |
| inline

set the cypher to use

Definition at line 1799 of file archive_options.hpp.

## ◆ 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 1803 of file archive_options.hpp.

## ◆ set_crypto_size()

void libdar::archive_options_repair::set_crypto_size | ( | U_32 | crypto_size | ) |
| inline

set the size of the encryption by block to use

Definition at line 1806 of file archive_options.hpp.

## ◆ set_display_finished()

void libdar::archive_options_repair::set_display_finished | ( | bool | display_finished | ) |
| inline

whether to display a summary for each completed directory with total saved data and compression ratio

Definition at line 1766 of file archive_options.hpp.

## ◆ set_display_skipped()

void libdar::archive_options_repair::set_display_skipped | ( | bool | display_skipped | ) |
| inline

whether to display files that have been excluded by filters

Definition at line 1763 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 1760 of file archive_options.hpp.

## ◆ set_empty()

void libdar::archive_options_repair::set_empty | ( | bool | empty | ) |
| inline

whether to make a dry-run operation

Definition at line 1824 of file archive_options.hpp.

## ◆ set_entrepot()

void libdar::archive_options_repair::set_entrepot | ( | const std::shared_ptr< entrepot > & | entr | ) |
| inline

defines the protocol to use for slices

Definition at line 1847 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 1796 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
  since release 2.7.0 if a given std::string in the list contains an '@' the string is assumed to be an email and search is done in the keyring for that field type, else it is assumed to be a keyid.

Definition at line 1816 of file archive_options.hpp.

## ◆ set_gnupg_signatories()

void libdar::archive_options_repair::set_gnupg_signatories | ( | const std::vector< std::string > & | gnupg_signatories | ) |
| inline

the private keys matching the email of the provided list are used to sign the archive random key

Note
  since release 2.7.0 if a given std::string in the list contains an '@' the string is assumed to be an email and search is done in the keyring for that field type, else it is assumed to be a keyid.

Definition at line 1821 of file archive_options.hpp.

## ◆ set_hash_algo()

void libdar::archive_options_repair::set_hash_algo | ( | hash_algo | hash | ) |

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...

## ◆ 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 1754 of file archive_options.hpp.

## ◆ set_multi_threaded()

void libdar::archive_options_repair::set_multi_threaded | ( | bool | val | ) |
| inline

whether libdar is allowed to spawn several threads to possibily work faster on multicore CPU (requires libthreadar)

Deprecated:
  this call is deprecated, see set_multi_threaded_*() more specific calls

Note
  setting this to true is equivalent to calling set_mutli_threaded_crypto(2)

Definition at line 1853 of file archive_options.hpp.

## ◆ set_multi_threaded_compress()

void libdar::archive_options_repair::set_multi_threaded_compress | ( | U_I | num | ) |
| inline

how much thread libdar will use for compression (need libthreadar too and compression_block_size > 0)

Definition at line 1859 of file archive_options.hpp.

## ◆ set_multi_threaded_crypto()

void libdar::archive_options_repair::set_multi_threaded_crypto | ( | U_I | num | ) |
| inline

how much thread libdar will use for cryptography (need libthreadar to be effective)

Definition at line 1856 of file archive_options.hpp.

## ◆ set_pause()

void libdar::archive_options_repair::set_pause | ( | const infinint & | pause | ) |
| inline

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.

Definition at line 1769 of file archive_options.hpp.

## ◆ set_slice_group_ownership()

void libdar::archive_options_repair::set_slice_group_ownership | ( | const std::string & | slice_group_ownership | ) |
| inline

if not an empty string set the group ownership of slices accordingly

Definition at line 1833 of file archive_options.hpp.

## ◆ set_slice_min_digits()

void libdar::archive_options_repair::set_slice_min_digits | ( | infinint | val | ) |
| inline

defines the minimum digit a slice must have concerning its number, zeros will be prepended as much as necessary to respect this

Definition at line 1844 of file archive_options.hpp.

## ◆ set_slice_permission()

void libdar::archive_options_repair::set_slice_permission | ( | const std::string & | slice_permission | ) |
| inline

if not an empty string set the slice permission according to the octal value given.

Definition at line 1827 of file archive_options.hpp.

## ◆ set_slice_user_ownership()

void libdar::archive_options_repair::set_slice_user_ownership | ( | const std::string & | slice_user_ownership | ) |
| inline

if not an empty string set the user ownership of slices accordingly

Definition at line 1830 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 1776 of file archive_options.hpp.

## ◆ set_user_comment()

void libdar::archive_options_repair::set_user_comment | ( | const std::string & | comment | ) |
| inline

specify a user comment in the archive (always in clear text!)

Definition at line 1836 of file archive_options.hpp.

## ◆ set_warn_over()

void libdar::archive_options_repair::set_warn_over | ( | bool | warn_over | ) |
| inline

defines whether a warning shall be issued before overwriting

Definition at line 1746 of file archive_options.hpp.

## Member Data Documentation

## ◆ x_allow_over

bool libdar::archive_options_repair::x_allow_over
| private

Definition at line 1893 of file archive_options.hpp.

## ◆ x_crypto

crypto_algo libdar::archive_options_repair::x_crypto
| private

Definition at line 1904 of file archive_options.hpp.

## ◆ x_crypto_size

U_32 libdar::archive_options_repair::x_crypto_size
| private

Definition at line 1906 of file archive_options.hpp.

## ◆ x_display_finished

bool libdar::archive_options_repair::x_display_finished
| private

Definition at line 1899 of file archive_options.hpp.

## ◆ x_display_skipped

bool libdar::archive_options_repair::x_display_skipped
| private

Definition at line 1898 of file archive_options.hpp.

## ◆ x_display_treated

bool libdar::archive_options_repair::x_display_treated
| private

Definition at line 1896 of file archive_options.hpp.

## ◆ x_display_treated_only_dir

bool libdar::archive_options_repair::x_display_treated_only_dir
| private

Definition at line 1897 of file archive_options.hpp.

## ◆ x_empty

bool libdar::archive_options_repair::x_empty
| private

Definition at line 1909 of file archive_options.hpp.

## ◆ x_entrepot

std::shared_ptr<entrepot> libdar::archive_options_repair::x_entrepot
| private

Definition at line 1916 of file archive_options.hpp.

## ◆ x_execute

std::string libdar::archive_options_repair::x_execute
| private

Definition at line 1903 of file archive_options.hpp.

## ◆ x_file_size

infinint libdar::archive_options_repair::x_file_size
| private

Definition at line 1901 of file archive_options.hpp.

## ◆ x_first_file_size

infinint libdar::archive_options_repair::x_first_file_size
| private

Definition at line 1902 of file archive_options.hpp.

## ◆ x_gnupg_recipients

std::vector<std::string> libdar::archive_options_repair::x_gnupg_recipients
| private

Definition at line 1907 of file archive_options.hpp.

## ◆ x_gnupg_signatories

std::vector<std::string> libdar::archive_options_repair::x_gnupg_signatories
| private

Definition at line 1908 of file archive_options.hpp.

## ◆ x_hash

hash_algo libdar::archive_options_repair::x_hash
| private

Definition at line 1914 of file archive_options.hpp.

## ◆ x_info_details

bool libdar::archive_options_repair::x_info_details
| private

Definition at line 1895 of file archive_options.hpp.

## ◆ x_multi_threaded_compress

U_I libdar::archive_options_repair::x_multi_threaded_compress
| private

Definition at line 1918 of file archive_options.hpp.

## ◆ x_multi_threaded_crypto

U_I libdar::archive_options_repair::x_multi_threaded_crypto
| private

Definition at line 1917 of file archive_options.hpp.

## ◆ x_pass

secu_string libdar::archive_options_repair::x_pass
| private

Definition at line 1905 of file archive_options.hpp.

## ◆ x_pause

infinint libdar::archive_options_repair::x_pause
| private

Definition at line 1900 of file archive_options.hpp.

## ◆ x_slice_group_ownership

std::string libdar::archive_options_repair::x_slice_group_ownership
| private

Definition at line 1912 of file archive_options.hpp.

## ◆ x_slice_min_digits

infinint libdar::archive_options_repair::x_slice_min_digits
| private

Definition at line 1915 of file archive_options.hpp.

## ◆ x_slice_permission

std::string libdar::archive_options_repair::x_slice_permission
| private

Definition at line 1910 of file archive_options.hpp.

## ◆ x_slice_user_ownership

std::string libdar::archive_options_repair::x_slice_user_ownership
| private

Definition at line 1911 of file archive_options.hpp.

## ◆ x_user_comment

std::string libdar::archive_options_repair::x_user_comment
| private

Definition at line 1913 of file archive_options.hpp.

## ◆ x_warn_over

bool libdar::archive_options_repair::x_warn_over
| private

Definition at line 1894 of file archive_options.hpp.

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

- archive_options.hpp