5bf4cfa86f
Files correlati : Ricompilazione Demo : [ ] Commento : Riportata la versione 1.7 patch 054 sul main trunk (II) git-svn-id: svn://10.65.10.50/trunk@9665 c028cbd2-c16b-5b4b-a496-9718f37d4682
103 lines
3.4 KiB
C++
Executable File
103 lines
3.4 KiB
C++
Executable File
#ifndef __ARCHIVES_H
|
|
#define __ARCHIVES_H
|
|
|
|
#ifndef __STDIO_H
|
|
#include <stdio.h>
|
|
#endif
|
|
|
|
#ifndef __STRINGS_H
|
|
#include <strings.h>
|
|
#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 <c ALArchive>)
|
|
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 <p f>
|
|
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
|
|
|