#ifndef __ARCHIVES_H #define __ARCHIVES_H #ifndef __STDIO_H #include #endif #ifndef __STRINGS_H #include #endif /////////////////////////////////////////////////////////// // TArchive /////////////////////////////////////////////////////////// class ALArchive; // @doc EXTERNAL // @class TArchive | Classe per effettuare compressione e archiviazione di dati // // @base public | TObject class TArchive : public TObject // @author:(INTERNAL) Angelo // @access:(INTERNAL) Private Member { // @ccost:(INTERNAL) BUFSIZE | 4096*7 | Dimensione del buffer di lettura/scrittura su dischetto enum { BUFSIZE = 4096*7 }; // @cmember:(INTERNAL) Oggetto per la gestione di archivi (vedi ) ALArchive* _arc; // @access Protected Member protected: // @cmember NON IMPLEMENTATA KEY query() const; // @cmember Funzione per richiedere all'utente il dischetto e per controllare la // corretta sequenza dei dischetti da inserire FILE* ask_disk(TFilename& name, int disk, char floppy, bool lettura) const; // @cmember Ritorna la dimensione del file

long fsize(FILE* f) const; // @cmember Spezza il file in modo da farlo stare sul dischetto bool fsplit(const char* filename, char floppy, const char* desc = "") const; // @cmember Ricostruisce il file spezzato bool fbuild(const char* filename, char floppy) const; // @cmember Ricostruisce la lista dei file contenuti nel backup int build_backup_list(long firm, TString_array& fl) const; // @cmember Costruisce la lista delle directory da scompattare int build_restore_list(long firm, char floppy, TString_array& fl) const; // @access Public Member public: // @cmember Effettua il backup della directory bool backup(const char* dir, char floppy, const char* desc, bool pr_set=TRUE); // @cmember Effettua il backup della ditta bool backup(long firm, char floppy, const char* desc, bool pr_set=TRUE); // @cmember Effettua il restore della directory bool restore(const char* dir, char floppy, bool temp, bool pr_set=TRUE); // @cmember Effettua il restore della ditta bool restore(long firm, char floppy, bool temp, bool pr_set=TRUE); // @cmember Interrompe le operazioni void stop_job(); }; #endif