Disk ARchive
2.4.21
|
pipe implementation under the generic_file interface. More...
#include <tuyau.hpp>
Inherits libdar::generic_file, libdar::thread_cancellation, and libdar::mem_ui.
Public Member Functions | |
tuyau (user_interaction &dialog, int fd) | |
tuyau (user_interaction &dialog, int fd, gf_mode mode) | |
tuyau (user_interaction &dialog, const std::string &filename, gf_mode mode) | |
tuyau (user_interaction &dialog) | |
int | get_read_fd () const |
void | close_read_fd () |
closes the read fd of the anonymous pipe (this is to be used by a writer) More... | |
void | do_not_close_read_fd () |
ask to not close the read descriptor upon object destruction (the fd survives the object) | |
bool | skip (const infinint &pos) |
skip at the absolute position More... | |
bool | skip_to_eof () |
skip to the end of file | |
bool | skip_relative (signed int x) |
infinint | get_position () |
get the current read/write position | |
bool | has_next_to_read () |
![]() | |
generic_file (gf_mode m) | |
main constructor | |
generic_file (const generic_file &ref) | |
copy constructor | |
void | terminate () const |
virtual destructor, this let inherited destructor to be called even from a generic_file pointer to an inherited class More... | |
const generic_file & | operator= (const generic_file &ref) |
assignment operator | |
gf_mode | get_mode () const |
retreive the openning mode for this object | |
U_I | read (char *a, U_I size) |
read data from the generic_file More... | |
void | write (const char *a, U_I size) |
write data to the generic_file More... | |
void | write (const std::string &arg) |
write a string to the generic_file More... | |
S_I | read_back (char &a) |
skip back one char, read on char and skip back one char | |
S_I | read_forward (char &a) |
read one char | |
virtual bool | skip_relative (S_I x)=0 |
skip relatively to the current position | |
virtual void | copy_to (generic_file &ref) |
copy all data from current position to the object in argument | |
virtual void | copy_to (generic_file &ref, const infinint &crc_size, crc *&value) |
copy all data from the current position to the object in argument and computes a CRC value of the transmitted data More... | |
U_32 | copy_to (generic_file &ref, U_32 size) |
small copy (up to 4GB) with CRC calculation | |
infinint | copy_to (generic_file &ref, infinint size) |
copy the given amount to the object in argument | |
bool | diff (generic_file &f, const infinint &crc_size, crc *&value) |
compares the contents with the object in argument More... | |
bool | diff (generic_file &f, const infinint &crc_size, crc *&value, infinint &err_offset) |
void | reset_crc (const infinint &width) |
reset CRC on read or writen data More... | |
bool | crc_status () const |
to known whether CRC calculation is activated or not | |
crc * | get_crc () |
get CRC of the transfered date since last reset More... | |
void | sync_write () |
write any pending data | |
![]() | |
thread_cancellation () | |
the constructor | |
virtual | ~thread_cancellation () |
the destructor | |
void | check_self_cancellation () const |
Checkpoint test : whether the current libdar call must abort or not. More... | |
void | block_delayed_cancellation (bool mode) |
Protected Member Functions | |
virtual U_I | inherited_read (char *a, U_I size) |
implementation of read() operation More... | |
virtual void | inherited_write (const char *a, U_I size) |
implementation of the write() operation More... | |
void | inherited_sync_write () |
write down any pending data More... | |
void | inherited_terminate () |
destructor-like call, except that it is allowed to throw exceptions More... | |
![]() | |
void | set_mode (gf_mode x) |
bool | is_terminated () const |
![]() | |
mem_ui (user_interaction &dialog) | |
constructor More... | |
mem_ui (const mem_ui &ref) | |
the copy constructor More... | |
virtual | ~mem_ui () |
destructor More... | |
const mem_ui & | operator= (const mem_ui &ref) |
assignement operator More... | |
user_interaction & | get_ui () const |
get access to the user_interaction cloned object More... | |
Additional Inherited Members | |
![]() | |
static void | init () |
mandatory initialization static method More... | |
static U_I | count () |
method for debugging/control purposes | |
pipe implementation under the generic_file interface.
void libdar::tuyau::close_read_fd | ( | ) |
closes the read fd of the anonymous pipe (this is to be used by a writer)
|
protectedvirtual |
implementation of read() operation
[in,out] | a | where to put the data to read |
[in] | size | says how much data to read |
Implements libdar::generic_file.
Referenced by get_position().
|
inlineprotectedvirtual |
write down any pending data
Implements libdar::generic_file.
Definition at line 85 of file tuyau.hpp.
References inherited_terminate().
|
protectedvirtual |
destructor-like call, except that it is allowed to throw exceptions
Implements libdar::generic_file.
Referenced by inherited_sync_write().
|
protectedvirtual |
implementation of the write() operation
[in] | a | what data to write |
[in] | size | amount of data to write |
Implements libdar::generic_file.
Referenced by get_position().
|
virtual |
skip at the absolute position
[in] | pos | the offset in byte where next read/write operation must start |
Implements libdar::generic_file.