Disk ARchive 2.8.0
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

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

#include <archive_options.hpp>

+ Collaboration diagram for libdar::archive_options_repair:

Public Member Functions

 archive_options_repair (const archive_options_repair &ref)
 
 archive_options_repair (archive_options_repair &&ref) noexcept
 
archive_options_repairoperator= (const archive_options_repair &ref)
 
archive_options_repairoperator= (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 More...
 
void set_warn_over (bool warn_over)
 defines whether a warning shall be issued before overwriting More...
 
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 More...
 
void set_display_finished (bool display_finished)
 whether to display a summary for each completed directory with total saved data and compression ratio More...
 
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. More...
 
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 More...
 
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 More...
 
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 More...
 
void set_slice_permission (const std::string &slice_permission)
 if not an empty string set the slice permission according to the octal value given. More...
 
void set_slice_user_ownership (const std::string &slice_user_ownership)
 if not an empty string set the user ownership of slices accordingly More...
 
void set_slice_group_ownership (const std::string &slice_group_ownership)
 if not an empty string set the group ownership of slices accordingly More...
 
void set_user_comment (const std::string &comment)
 specify a user comment in the archive (always in clear text!) More...
 
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 More...
 
void set_entrepot (const std::shared_ptr< entrepot > &entr)
 defines the protocol to use for slices More...
 
void set_multi_threaded (bool val)
 whether libdar is allowed to spawn several threads to possibily work faster on multicore CPU (requires libthreadar) More...
 
void set_multi_threaded_crypto (U_I num)
 how much thread libdar will use for cryptography (need libthreadar to be effective) More...
 
void set_multi_threaded_compress (U_I num)
 how much thread libdar will use for compression (need libthreadar too and compression_block_size > 0) More...
 
void set_iteration_count (const infinint &val)
 key derivation More...
 
void set_kdf_hash (hash_algo algo)
 hash algo used for key derivation More...
 
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
 
const infinintget_slice_size () const
 
const infinintget_first_slice_size () 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
 
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
 
const infinintget_iteration_count () const
 
hash_algo get_kdf_hash () 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< entrepotx_entrepot
 
U_I x_multi_threaded_crypto
 
U_I x_multi_threaded_compress
 
infinint x_iteration_count
 
hash_algo x_kdf_hash
 

Detailed Description

class holding optional parameters used to create an archive

Definition at line 1820 of file archive_options.hpp.

Constructor & Destructor Documentation

◆ archive_options_repair()

libdar::archive_options_repair::archive_options_repair ( archive_options_repair &&  ref)
inlinenoexcept

Definition at line 1827 of file archive_options.hpp.

Member Function Documentation

◆ get_allow_over()

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

Definition at line 1973 of file archive_options.hpp.

◆ get_crypto_algo()

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

Definition at line 1984 of file archive_options.hpp.

◆ get_crypto_pass()

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

Definition at line 1985 of file archive_options.hpp.

◆ get_crypto_size()

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

Definition at line 1986 of file archive_options.hpp.

◆ get_display_finished()

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

Definition at line 1979 of file archive_options.hpp.

◆ get_display_skipped()

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

Definition at line 1978 of file archive_options.hpp.

◆ get_display_treated()

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

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

◆ get_empty()

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

Definition at line 1989 of file archive_options.hpp.

◆ get_entrepot()

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

Definition at line 1996 of file archive_options.hpp.

◆ get_execute()

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

Definition at line 1983 of file archive_options.hpp.

◆ get_first_slice_size()

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

Definition at line 1982 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 1987 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 1988 of file archive_options.hpp.

◆ get_hash_algo()

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

Definition at line 1994 of file archive_options.hpp.

◆ get_info_details()

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

Definition at line 1975 of file archive_options.hpp.

◆ get_iteration_count()

const infinint & libdar::archive_options_repair::get_iteration_count ( ) const
inline

Definition at line 1999 of file archive_options.hpp.

◆ get_kdf_hash()

hash_algo libdar::archive_options_repair::get_kdf_hash ( ) const
inline

Definition at line 2000 of file archive_options.hpp.

◆ get_multi_threaded_compress()

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

Definition at line 1998 of file archive_options.hpp.

◆ get_multi_threaded_crypto()

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

Definition at line 1997 of file archive_options.hpp.

◆ get_pause()

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

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

◆ get_slice_min_digits()

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

Definition at line 1995 of file archive_options.hpp.

◆ get_slice_permission()

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

Definition at line 1990 of file archive_options.hpp.

◆ get_slice_size()

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

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

◆ get_user_comment()

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

Definition at line 1993 of file archive_options.hpp.

◆ get_warn_over()

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

Definition at line 1974 of file archive_options.hpp.

◆ nullifyptr()

void libdar::archive_options_repair::nullifyptr ( )
inlineprivatenoexcept

Definition at line 2033 of file archive_options.hpp.

◆ operator=() [1/2]

archive_options_repair & libdar::archive_options_repair::operator= ( archive_options_repair &&  ref)
inlinenoexcept

Definition at line 1829 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 1828 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 1844 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 1900 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 1904 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 1907 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 1867 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 1864 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_treatedtrue to display processed inodes
[in]only_dironly display the current directory under process, not its individual files

Definition at line 1861 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 1925 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 1948 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 1897 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 1917 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 1922 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 1855 of file archive_options.hpp.

◆ set_iteration_count()

void libdar::archive_options_repair::set_iteration_count ( const infinint val)
inline

key derivation

Definition at line 1963 of file archive_options.hpp.

◆ set_kdf_hash()

void libdar::archive_options_repair::set_kdf_hash ( hash_algo  algo)
inline

hash algo used for key derivation

Definition at line 1966 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 1954 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 1960 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 1957 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 1870 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 1934 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 1945 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 1928 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 1931 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_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 1877 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 1937 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 1847 of file archive_options.hpp.

Member Data Documentation

◆ x_allow_over

bool libdar::archive_options_repair::x_allow_over
private

Definition at line 2004 of file archive_options.hpp.

◆ x_crypto

crypto_algo libdar::archive_options_repair::x_crypto
private

Definition at line 2015 of file archive_options.hpp.

◆ x_crypto_size

U_32 libdar::archive_options_repair::x_crypto_size
private

Definition at line 2017 of file archive_options.hpp.

◆ x_display_finished

bool libdar::archive_options_repair::x_display_finished
private

Definition at line 2010 of file archive_options.hpp.

◆ x_display_skipped

bool libdar::archive_options_repair::x_display_skipped
private

Definition at line 2009 of file archive_options.hpp.

◆ x_display_treated

bool libdar::archive_options_repair::x_display_treated
private

Definition at line 2007 of file archive_options.hpp.

◆ x_display_treated_only_dir

bool libdar::archive_options_repair::x_display_treated_only_dir
private

Definition at line 2008 of file archive_options.hpp.

◆ x_empty

bool libdar::archive_options_repair::x_empty
private

Definition at line 2020 of file archive_options.hpp.

◆ x_entrepot

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

Definition at line 2027 of file archive_options.hpp.

◆ x_execute

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

Definition at line 2014 of file archive_options.hpp.

◆ x_file_size

infinint libdar::archive_options_repair::x_file_size
private

Definition at line 2012 of file archive_options.hpp.

◆ x_first_file_size

infinint libdar::archive_options_repair::x_first_file_size
private

Definition at line 2013 of file archive_options.hpp.

◆ x_gnupg_recipients

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

Definition at line 2018 of file archive_options.hpp.

◆ x_gnupg_signatories

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

Definition at line 2019 of file archive_options.hpp.

◆ x_hash

hash_algo libdar::archive_options_repair::x_hash
private

Definition at line 2025 of file archive_options.hpp.

◆ x_info_details

bool libdar::archive_options_repair::x_info_details
private

Definition at line 2006 of file archive_options.hpp.

◆ x_iteration_count

infinint libdar::archive_options_repair::x_iteration_count
private

Definition at line 2030 of file archive_options.hpp.

◆ x_kdf_hash

hash_algo libdar::archive_options_repair::x_kdf_hash
private

Definition at line 2031 of file archive_options.hpp.

◆ x_multi_threaded_compress

U_I libdar::archive_options_repair::x_multi_threaded_compress
private

Definition at line 2029 of file archive_options.hpp.

◆ x_multi_threaded_crypto

U_I libdar::archive_options_repair::x_multi_threaded_crypto
private

Definition at line 2028 of file archive_options.hpp.

◆ x_pass

secu_string libdar::archive_options_repair::x_pass
private

Definition at line 2016 of file archive_options.hpp.

◆ x_pause

infinint libdar::archive_options_repair::x_pause
private

Definition at line 2011 of file archive_options.hpp.

◆ x_slice_group_ownership

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

Definition at line 2023 of file archive_options.hpp.

◆ x_slice_min_digits

infinint libdar::archive_options_repair::x_slice_min_digits
private

Definition at line 2026 of file archive_options.hpp.

◆ x_slice_permission

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

Definition at line 2021 of file archive_options.hpp.

◆ x_slice_user_ownership

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

Definition at line 2022 of file archive_options.hpp.

◆ x_user_comment

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

Definition at line 2024 of file archive_options.hpp.

◆ x_warn_over

bool libdar::archive_options_repair::x_warn_over
private

Definition at line 2005 of file archive_options.hpp.


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