sprint 1-alpha
Classes | Public Member Functions
sprint::io::tar Class Reference

#include <tar.h>

List of all members.

Classes

struct  item
 header file look-up-table

Public Member Functions

 tar (const char *archive, flag_t flag, bool append=false)
write tar
unsigned long write_header (const std::string &filename, unsigned long file_size, bool write_back_mode=true)
unsigned long write_body (const char *buffer, unsigned long size)
template<class T >
unsigned long write_tbody (const T *buffer, unsigned num)
template<class T >
unsigned long write_tbody (const T &buffer)
unsigned long write_end (bool sync=true)
unsigned long put (const char *file, const char *string)
 crea nel tar un file con il contenuto della stringa (per scrivere per esempio file di puro testo)
unsigned long put (const char *file, const char *buffer, unsigned long size, bool fdatasync=false)
 crea nel tar un file con il buffer (per scrivere file in memoria)
read tar
bool seek (const std::string &file)
unsigned long filesize () const
 dimensione del file corrente
unsigned long fileread (unsigned char *buffer, unsigned long size)

Detailed Description

Classe per gestire l'input/output su file Tar

[Modalita' Scrittura] E' possibile utilizzare la classe in 3 modi:

[Modalita' Lettura] Niente da dichiarare al momento


Constructor & Destructor Documentation

sprint::io::tar::tar ( const char *  archive,
flag_t  flag,
bool  append = false 
)

open or create the tar archive (according to flag values)

Note:
append non e' implementato

Member Function Documentation

unsigned long sprint::io::tar::fileread ( unsigned char *  buffer,
unsigned long  size 
)

legge un blocco del file corrente

Returns:
il numero di bytes letti
bool sprint::io::tar::seek ( const std::string &  file)

muove il file tar nel posto X

Returns:
true se il file esiste, altrimenti false
unsigned long sprint::io::tar::write_body ( const char *  buffer,
unsigned long  size 
)

scrive il corpo del file

permette di scrivere fino a file_size specificato in write_header

Note:
se si e' in writeback mode, file_size non viene usato
Returns:
il numero di bytes scritti, altrimenti -1 (o tira una eccezione)
unsigned long sprint::io::tar::write_end ( bool  sync = true)

in modalita' write_back e' necessario dire quando il file corrente e' terminato per scrivere l'header e il trailing

Note:
in modalita' non write_back non va chiamata la write_end
Parameters:
syncesegue un fdatasync
Returns:
il numero di byte extra scritti
unsigned long sprint::io::tar::write_header ( const std::string &  filename,
unsigned long  file_size,
bool  write_back_mode = true 
)

scrive l'header del file e comincia lo stream out

Parameters:
filenameil nome del file di cui scrivere l'header
file_sizedimensione del file che verra'
write_back_modese true l'header verra' scritto dopo la write_end, false l'header verra' scritto subito
Note:
se si e' in writeback mode, file_size non viene usato
Returns:
il numero di bytes scritti, o -1
template<class T >
unsigned long sprint::io::tar::write_tbody ( const T *  buffer,
unsigned  num 
)

salva un array di oggetti T nello stream

Returns:
l'effettivo numero di bytes scritti, altrimenti -1 (o una eccezione)
template<class T >
unsigned long sprint::io::tar::write_tbody ( const T &  buffer)

salva un oggetto T nello stream

Returns:
l'effettivo numero di bytes scritti, altrimenti -1 (o una eccezione)

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines