#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 { #if XVT_OS == XVT_OS_WIN // @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; // @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 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; #endif // @access Protected Member protected: // @cmember Ritorna la dimensione del file

long fsize(FILE* f) const; // @cmember Sposta il file nella directory dir bool move_file(const TFilename& file, const char* dir) const; // @cmember Spezza il file.zip in modo da farlo stare sul dischetto bool fsplit_zip(const char* filename, char floppy, const char* desc = "") const; // @cmember Ricostruisce la lista dei file contenuti nel backup int build_backup_list(int mode, long firm, TString_array& fl) const; // @cmember Scrive il file backup.ini sul drive indicato bool write_ini(TFilename& name, int disk, long tot, const char* desc, char floppy) const; // @cmember Costruisce la lista delle directory da scompattare int build_restore_list(int& mode, long firm, char floppy, TString_array& fl) const; bool copy_zipper(const char* dir) const; bool remove_zipper(const char* dir) const; void add_zipper_list(TString& str) const; // @access Public Member public: // @cmember Effettua il backup della directory bool backup(const char* dir, char floppy, const char* desc, bool dummy = FALSE); // @cmember Effettua il backup della ditta bool backup(int mode, 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 dummy = FALSE); // @cmember Effettua il restore della ditta bool restore(int mode, long firm, char floppy, bool temp, bool pr_set=TRUE); #if XVT_OS == XVT_OS_WIN // @cmember Interrompe le operazioni void stop_job(); #endif // @cmember Effettua il backup della directory bool zip(const char* dir, char floppy, const char* desc); // @cmember Effettua il backup della ditta bool zip(int mode, long firm, char floppy, const char* desc); // @cmember Effettua il restore della directory bool unzip(const char* dir, char floppy, bool temp); // @cmember Effettua il restore della ditta bool unzip(int mode, long firm, char floppy, bool temp); TArchive() { } virtual ~TArchive() { } }; #endif