Loading...
Searching...
No Matches
libdar::archive_options_read Class Reference
API

class holding optional parameters used to read an existing archive More...

`#include <archive_options.hpp>`

## Public Member Functions

| archive_options_read ()
| build an object and set options to their default values
| archive_options_read (const archive_options_read &ref)
| the copy constructor, assignment operator and destructor
| archive_options_read (archive_options_read &&ref) noexcept
archive_options_read & | operator= (const archive_options_read &ref)
archive_options_read & | operator= (archive_options_read &&ref) noexcept
void | clear ()
| reset all the options to their default values
void | set_crypto_algo (crypto_algo val)
| defines the the crypto cypher to use to read the archive (default is crypto_none)
void | set_crypto_pass (const secu_string &pass)
| defines the password or passphrase to decrypt (unused if encryption is not set)
void | set_crypto_size (U_32 crypto_size)
| the encryption block size to use to decrypt
void | set_default_crypto_size ()
| set the encryption block size to the default value
void | set_input_pipe (const std::string &input_pipe)
| set the name of the input pipe to read data from (when basename is set to "-")
void | set_output_pipe (const std::string &output_pipe)
| set the name of the output pipe to send orders to (when basenale is set to "-")
void | set_execute (const std::string &execute)
| set the command to execute before reading each slice (empty string for no script)
void | set_info_details (bool info_details)
| defines whether the user needs detailed output of the operation
void | set_lax (bool val)
| defines whether any archive coherence error, system error or media error lead to the abortion of the operation
void | set_sequential_read (bool val)
| defines whether to try reading the archive sequentially (ala tar) or using the final catalogue
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 to retrieve slices
void | set_ignore_signature_check_failure (bool val)
| whether to warn (false) or ignore (true) signature failure (default is false, signature failure is reported)
void | set_multi_threaded (bool val)
| whether libdar is allowed to create several thread to work possibly faster on multicore CPU (need libthreadar to be effective)
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)
void | set_header_only (bool val)
| whether we only read the archive header and exit
void | set_silent (bool val)
| whether to avoid display message about the fact a wrong key is not possible to detect when reading cyphered archive/backup
void | set_early_memory_release (bool val)
| whether to perform early memory release of the catalogue
void | set_force_first_slice (bool val)
| whether to ask the first slice in place of the last slice when reading an archive with the help of an isolated catalogue
void | set_external_catalogue (const path &ref_chem, const std::string &ref_basename)
| defines whether or not to use the catalogue from an extracted catalogue (instead of the one embedded in the archive) and which one to use
void | unset_external_catalogue ()
| clear any reference to an external catalogue
void | set_ref_crypto_algo (crypto_algo ref_crypto)
| defines the crypto algo for the reference catalogue
void | set_ref_crypto_pass (const secu_string &ref_pass)
| defines the pass for the reference catalogue
void | set_ref_crypto_size (U_32 ref_crypto_size)
| defines the crypto size for the reference catalogue
void | set_ref_execute (const std::string &ref_execute)
| set the command to execute before reading each slice of the reference catalogue
void | set_ref_slice_min_digits (infinint val)
| defines the minim digit for slice number of the archive of reference (where the external catalogue is read from)
void | set_ref_entrepot (const std::shared_ptr< entrepot > &entr)
| defines the protocol to use to retrieve slices of the reference archive (where the external catalogue resides)
crypto_algo | get_crypto_algo () const
const secu_string & | get_crypto_pass () const
U_32 | get_crypto_size () const
const std::string & | get_input_pipe () const
const std::string & | get_output_pipe () const
const std::string & | get_execute () const
bool | get_info_details () const
bool | get_lax () const
bool | get_sequential_read () const
infinint | get_slice_min_digits () const
const std::shared_ptr< entrepot > & | get_entrepot () const
bool | get_ignore_signature_check_failure () const
U_I | get_multi_threaded_crypto () const
U_I | get_multi_threaded_compress () const
bool | get_header_only () const
bool | get_silent () const
bool | get_early_memory_release () const
bool | get_force_first_slice () const
bool | is_external_catalogue_set () const
const path & | get_ref_path () const
const std::string & | get_ref_basename () const
crypto_algo | get_ref_crypto_algo () const
const secu_string & | get_ref_crypto_pass () const
U_32 | get_ref_crypto_size () const
const std::string & | get_ref_execute () const
infinint | get_ref_slice_min_digits () const
const std::shared_ptr< entrepot > & | get_ref_entrepot () const

## Private Member Functions

void | copy_from (const archive_options_read &ref)
void | move_from (archive_options_read &&ref) noexcept

## Private Attributes

crypto_algo | x_crypto
secu_string | x_pass
U_32 | x_crypto_size
std::string | x_input_pipe
std::string | x_output_pipe
std::string | x_execute
bool | x_info_details
bool | x_lax
bool | x_sequential_read
infinint | x_slice_min_digits
std::shared_ptr< entrepot > | x_entrepot
bool | x_ignore_signature_check_failure
U_I | x_multi_threaded_crypto
U_I | x_multi_threaded_compress
bool | x_header_only
bool | x_silent
bool | x_early_memory_release
bool | x_force_first_slice
bool | external_cat
path | x_ref_chem
std::string | x_ref_basename
crypto_algo | x_ref_crypto
secu_string | x_ref_pass
U_32 | x_ref_crypto_size
std::string | x_ref_execute
infinint | x_ref_slice_min_digits
std::shared_ptr< entrepot > | x_ref_entrepot

## Detailed Description

class holding optional parameters used to read an existing archive

Definition at line 69 of file archive_options.hpp.

## Constructor & Destructor Documentation

## archive_options_read()

libdar::archive_options_read::archive_options_read | ( | const archive_options_read & | ref | ) |

inline

the copy constructor, assignment operator and destructor

Definition at line 76 of file archive_options.hpp.

References archive_options_read().

## Member Function Documentation

## get_crypto_algo()

crypto_algo libdar::archive_options_read::get_crypto_algo | ( |  | ) | const

inline

Definition at line 232 of file archive_options.hpp.

## get_crypto_pass()

const secu_string & libdar::archive_options_read::get_crypto_pass | ( |  | ) | const

inline

Definition at line 233 of file archive_options.hpp.

## get_crypto_size()

U_32 libdar::archive_options_read::get_crypto_size | ( |  | ) | const

inline

Definition at line 234 of file archive_options.hpp.

## get_early_memory_release()

bool libdar::archive_options_read::get_early_memory_release | ( |  | ) | const

inline

Definition at line 248 of file archive_options.hpp.

## get_entrepot()

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

inline

Definition at line 242 of file archive_options.hpp.

## get_execute()

const std::string & libdar::archive_options_read::get_execute | ( |  | ) | const

inline

Definition at line 237 of file archive_options.hpp.

## get_force_first_slice()

bool libdar::archive_options_read::get_force_first_slice | ( |  | ) | const

inline

Definition at line 249 of file archive_options.hpp.

## get_header_only()

bool libdar::archive_options_read::get_header_only | ( |  | ) | const

inline

Definition at line 246 of file archive_options.hpp.

## get_ignore_signature_check_failure()

bool libdar::archive_options_read::get_ignore_signature_check_failure | ( |  | ) | const

inline

Definition at line 243 of file archive_options.hpp.

## get_info_details()

bool libdar::archive_options_read::get_info_details | ( |  | ) | const

inline

Definition at line 238 of file archive_options.hpp.

## get_input_pipe()

const std::string & libdar::archive_options_read::get_input_pipe | ( |  | ) | const

inline

Definition at line 235 of file archive_options.hpp.

## get_lax()

bool libdar::archive_options_read::get_lax | ( |  | ) | const

inline

Definition at line 239 of file archive_options.hpp.

## get_multi_threaded_compress()

U_I libdar::archive_options_read::get_multi_threaded_compress | ( |  | ) | const

inline

Definition at line 245 of file archive_options.hpp.

## get_multi_threaded_crypto()

U_I libdar::archive_options_read::get_multi_threaded_crypto | ( |  | ) | const

inline

Definition at line 244 of file archive_options.hpp.

## get_output_pipe()

const std::string & libdar::archive_options_read::get_output_pipe | ( |  | ) | const

inline

Definition at line 236 of file archive_options.hpp.

## get_ref_crypto_algo()

crypto_algo libdar::archive_options_read::get_ref_crypto_algo | ( |  | ) | const

inline

Definition at line 255 of file archive_options.hpp.

## get_ref_crypto_pass()

const secu_string & libdar::archive_options_read::get_ref_crypto_pass | ( |  | ) | const

inline

Definition at line 256 of file archive_options.hpp.

## get_ref_crypto_size()

U_32 libdar::archive_options_read::get_ref_crypto_size | ( |  | ) | const

inline

Definition at line 257 of file archive_options.hpp.

## get_ref_entrepot()

const std::shared_ptr< entrepot > & libdar::archive_options_read::get_ref_entrepot | ( |  | ) | const

inline

Definition at line 260 of file archive_options.hpp.

## get_ref_execute()

const std::string & libdar::archive_options_read::get_ref_execute | ( |  | ) | const

inline

Definition at line 258 of file archive_options.hpp.

## get_ref_slice_min_digits()

infinint libdar::archive_options_read::get_ref_slice_min_digits | ( |  | ) | const

inline

Definition at line 259 of file archive_options.hpp.

## get_sequential_read()

bool libdar::archive_options_read::get_sequential_read | ( |  | ) | const

inline

Definition at line 240 of file archive_options.hpp.

## get_silent()

bool libdar::archive_options_read::get_silent | ( |  | ) | const

inline

Definition at line 247 of file archive_options.hpp.

## get_slice_min_digits()

infinint libdar::archive_options_read::get_slice_min_digits | ( |  | ) | const

inline

Definition at line 241 of file archive_options.hpp.

## is_external_catalogue_set()

bool libdar::archive_options_read::is_external_catalogue_set | ( |  | ) | const

inline

Definition at line 252 of file archive_options.hpp.

## operator=() [1/2]

archive_options_read & libdar::archive_options_read::operator= | ( | archive_options_read && | ref | ) |

inline noexcept

Definition at line 79 of file archive_options.hpp.

## operator=() [2/2]

archive_options_read & libdar::archive_options_read::operator= | ( | const archive_options_read & | ref | ) |

inline

Definition at line 78 of file archive_options.hpp.

## set_crypto_algo()

void libdar::archive_options_read::set_crypto_algo | ( | crypto_algo | val | ) |

inline

defines the the crypto cypher to use to read the archive (default is crypto_none)

Note
  since release 2.5.0 you may and should provide crypto_none in any case (the default value) for libdar uses the algorithm stored in the archive. However you way override this (in case of corruption for example) by explicitely specifying a crypto algorithm in that case the value of the crypto algorithm stored in the archive is ignored and the algorithm used to decipher is the one specified here.

Definition at line 102 of file archive_options.hpp.

## set_crypto_pass()

void libdar::archive_options_read::set_crypto_pass | ( | const secu_string & | pass | ) |

inline

defines the password or passphrase to decrypt (unused if encryption is not set)

Definition at line 105 of file archive_options.hpp.

## set_crypto_size()

void libdar::archive_options_read::set_crypto_size | ( | U_32 | crypto_size | ) |

inline

the encryption block size to use to decrypt

Definition at line 108 of file archive_options.hpp.

## set_early_memory_release()

void libdar::archive_options_read::set_early_memory_release | ( | bool | val | ) |

inline

whether to perform early memory release of the catalogue

Definition at line 184 of file archive_options.hpp.

## set_entrepot()

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

inline

defines the protocol to use to retrieve slices

Definition at line 160 of file archive_options.hpp.

## set_execute()

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

inline

set the command to execute before reading each slice (empty string for no script)

several macros are available:

- %n : the slice number to be read
- %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 136 of file archive_options.hpp.

## set_external_catalogue()

void libdar::archive_options_read::set_external_catalogue | ( | const path & | ref_chem,
|  | const std::string & | ref_basename )

inline

defines whether or not to use the catalogue from an extracted catalogue (instead of the one embedded in the archive) and which one to use

Definition at line 193 of file archive_options.hpp.

## set_force_first_slice()

void libdar::archive_options_read::set_force_first_slice | ( | bool | val | ) |

inline

whether to ask the first slice in place of the last slice when reading an archive with the help of an isolated catalogue

Definition at line 187 of file archive_options.hpp.

## set_header_only()

void libdar::archive_options_read::set_header_only | ( | bool | val | ) |

inline

whether we only read the archive header and exit

Definition at line 178 of file archive_options.hpp.

## set_ignore_signature_check_failure()

void libdar::archive_options_read::set_ignore_signature_check_failure | ( | bool | val | ) |

inline

whether to warn (false) or ignore (true) signature failure (default is false, signature failure is reported)

Definition at line 163 of file archive_options.hpp.

## set_info_details()

void libdar::archive_options_read::set_info_details | ( | bool | info_details | ) |

inline

defines whether the user needs detailed output of the operation

Definition at line 139 of file archive_options.hpp.

## set_input_pipe()

void libdar::archive_options_read::set_input_pipe | ( | const std::string & | input_pipe | ) |

inline

set the name of the input pipe to read data from (when basename is set to "-")

if input_pipe is set to "" (empty string) the information from dar_slave are expected in standard input else the given string

Definition at line 117 of file archive_options.hpp.

## set_lax()

void libdar::archive_options_read::set_lax | ( | bool | val | ) |

inline

defines whether any archive coherence error, system error or media error lead to the abortion of the operation

lax mode is false by default. setting it to true, may allow more data to be restored, but may lead the user to get corrupted data the user will be warned and asked upon what to do if such case arrives.

Definition at line 146 of file archive_options.hpp.

## set_multi_threaded()

void libdar::archive_options_read::set_multi_threaded | ( | bool | val | ) |

inline

whether libdar is allowed to create several thread to work possibly faster on multicore CPU (need libthreadar to be effective)

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

## set_multi_threaded_compress()

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

## set_multi_threaded_crypto()

void libdar::archive_options_read::set_multi_threaded_crypto | ( | U_I | num | ) |

inline

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

Definition at line 172 of file archive_options.hpp.

## set_output_pipe()

void libdar::archive_options_read::set_output_pipe | ( | const std::string & | output_pipe | ) |

inline

set the name of the output pipe to send orders to (when basenale is set to "-")

if output_pipe is set to "" the orders sent to dar_slave will exit by the standard output else the given string must be the path to a named pipe which will relay the orders to dar_slave

Definition at line 123 of file archive_options.hpp.

## set_ref_crypto_algo()

void libdar::archive_options_read::set_ref_crypto_algo | ( | crypto_algo | ref_crypto | ) |

inline

defines the crypto algo for the reference catalogue

Definition at line 198 of file archive_options.hpp.

## set_ref_crypto_pass()

void libdar::archive_options_read::set_ref_crypto_pass | ( | const secu_string & | ref_pass | ) |

inline

defines the pass for the reference catalogue

Definition at line 201 of file archive_options.hpp.

## set_ref_crypto_size()

void libdar::archive_options_read::set_ref_crypto_size | ( | U_32 | ref_crypto_size | ) |

inline

defines the crypto size for the reference catalogue

Definition at line 204 of file archive_options.hpp.

## set_ref_entrepot()

void libdar::archive_options_read::set_ref_entrepot | ( | const std::shared_ptr< entrepot > & | entr | ) |

inline

defines the protocol to use to retrieve slices of the reference archive (where the external catalogue resides)

Definition at line 225 of file archive_options.hpp.

## set_ref_execute()

void libdar::archive_options_read::set_ref_execute | ( | const std::string & | ref_execute | ) |

inline

set the command to execute before reading each slice of the reference catalogue

several macros are available:

- %n : the slice number to be read
- %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 217 of file archive_options.hpp.

## set_ref_slice_min_digits()

void libdar::archive_options_read::set_ref_slice_min_digits | ( | infinint | val | ) |

inline

defines the minim digit for slice number of the archive of reference (where the external catalogue is read from)

Definition at line 222 of file archive_options.hpp.

## set_sequential_read()

void libdar::archive_options_read::set_sequential_read | ( | bool | val | ) |

inline

defines whether to try reading the archive sequentially (ala tar) or using the final catalogue

the sequential reading must not has been disabled at creation time and the archive must be of minimum format "08" for the operation not to fail

Definition at line 152 of file archive_options.hpp.

## set_silent()

void libdar::archive_options_read::set_silent | ( | bool | val | ) |

inline

whether to avoid display message about the fact a wrong key is not possible to detect when reading cyphered archive/backup

Definition at line 181 of file archive_options.hpp.

## set_slice_min_digits()

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

## Member Data Documentation

## external_cat

bool libdar::archive_options_read::external_cat

private

Definition at line 283 of file archive_options.hpp.

## x_crypto

crypto_algo libdar::archive_options_read::x_crypto

private

Definition at line 263 of file archive_options.hpp.

## x_crypto_size

U_32 libdar::archive_options_read::x_crypto_size

private

Definition at line 265 of file archive_options.hpp.

## x_early_memory_release

bool libdar::archive_options_read::x_early_memory_release

private

Definition at line 279 of file archive_options.hpp.

## x_entrepot

std::shared_ptr<entrepot> libdar::archive_options_read::x_entrepot

private

Definition at line 273 of file archive_options.hpp.

## x_execute

std::string libdar::archive_options_read::x_execute

private

Definition at line 268 of file archive_options.hpp.

## x_force_first_slice

bool libdar::archive_options_read::x_force_first_slice

private

Definition at line 280 of file archive_options.hpp.

## x_header_only

bool libdar::archive_options_read::x_header_only

private

Definition at line 277 of file archive_options.hpp.

## x_ignore_signature_check_failure

bool libdar::archive_options_read::x_ignore_signature_check_failure

private

Definition at line 274 of file archive_options.hpp.

## x_info_details

bool libdar::archive_options_read::x_info_details

private

Definition at line 269 of file archive_options.hpp.

## x_input_pipe

std::string libdar::archive_options_read::x_input_pipe

private

Definition at line 266 of file archive_options.hpp.

## x_lax

bool libdar::archive_options_read::x_lax

private

Definition at line 270 of file archive_options.hpp.

## x_multi_threaded_compress

U_I libdar::archive_options_read::x_multi_threaded_compress

private

Definition at line 276 of file archive_options.hpp.

## x_multi_threaded_crypto

U_I libdar::archive_options_read::x_multi_threaded_crypto

private

Definition at line 275 of file archive_options.hpp.

## x_output_pipe

std::string libdar::archive_options_read::x_output_pipe

private

Definition at line 267 of file archive_options.hpp.

## x_pass

secu_string libdar::archive_options_read::x_pass

private

Definition at line 264 of file archive_options.hpp.

## x_ref_basename

std::string libdar::archive_options_read::x_ref_basename

private

Definition at line 285 of file archive_options.hpp.

## x_ref_chem

path libdar::archive_options_read::x_ref_chem

private

Definition at line 284 of file archive_options.hpp.

## x_ref_crypto

crypto_algo libdar::archive_options_read::x_ref_crypto

private

Definition at line 286 of file archive_options.hpp.

## x_ref_crypto_size

U_32 libdar::archive_options_read::x_ref_crypto_size

private

Definition at line 288 of file archive_options.hpp.

## x_ref_entrepot

std::shared_ptr<entrepot> libdar::archive_options_read::x_ref_entrepot

private

Definition at line 291 of file archive_options.hpp.

## x_ref_execute

std::string libdar::archive_options_read::x_ref_execute

private

Definition at line 289 of file archive_options.hpp.

## x_ref_pass

secu_string libdar::archive_options_read::x_ref_pass

private

Definition at line 287 of file archive_options.hpp.

## x_ref_slice_min_digits

infinint libdar::archive_options_read::x_ref_slice_min_digits

private

Definition at line 290 of file archive_options.hpp.

## x_sequential_read

bool libdar::archive_options_read::x_sequential_read

private

Definition at line 271 of file archive_options.hpp.

## x_silent

bool libdar::archive_options_read::x_silent

private

Definition at line 278 of file archive_options.hpp.

## x_slice_min_digits

infinint libdar::archive_options_read::x_slice_min_digits

private

Definition at line 272 of file archive_options.hpp.

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

- archive_options.hpp