1995-09-11 15:13:50 +00:00
|
|
|
#ifndef __ARCHIVES_H
|
|
|
|
#define __ARCHIVES_H
|
|
|
|
|
|
|
|
#ifndef __STDIO_H
|
|
|
|
#include <stdio.h>
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef __STRINGS_H
|
|
|
|
#include <strings.h>
|
|
|
|
#endif
|
|
|
|
|
|
|
|
///////////////////////////////////////////////////////////
|
|
|
|
// TArchive
|
|
|
|
///////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
class ALArchive;
|
|
|
|
|
1996-02-05 19:00:53 +00:00
|
|
|
// @doc EXTERNAL
|
|
|
|
|
|
|
|
// @class TArchive | Classe per effettuare compressione e archiviazione di dati
|
|
|
|
//
|
|
|
|
// @base public | TObject
|
1995-09-11 15:13:50 +00:00
|
|
|
class TArchive : public TObject
|
1996-02-05 19:00:53 +00:00
|
|
|
|
|
|
|
// @author:(INTERNAL) Angelo
|
|
|
|
|
|
|
|
// @access:(INTERNAL) Private Member
|
1995-09-11 15:13:50 +00:00
|
|
|
{
|
1996-02-05 19:00:53 +00:00
|
|
|
// @ccost:(INTERNAL) BUFSIZE | 4096*7 | Dimensione del buffer di lettura/scrittura su dischetto
|
1995-09-11 15:13:50 +00:00
|
|
|
enum { BUFSIZE = 4096*7 };
|
1996-02-05 19:00:53 +00:00
|
|
|
// @cmember:(INTERNAL) Oggetto per la gestione di archivi (vedi <c ALArchive>)
|
1995-09-11 15:13:50 +00:00
|
|
|
ALArchive* _arc;
|
|
|
|
|
1996-02-05 19:00:53 +00:00
|
|
|
// @access Protected Member
|
1995-09-11 15:13:50 +00:00
|
|
|
protected:
|
1996-02-05 19:00:53 +00:00
|
|
|
// @cmember NON IMPLEMENTATA
|
1995-09-11 15:13:50 +00:00
|
|
|
KEY query() const;
|
1996-02-05 19:00:53 +00:00
|
|
|
// @cmember Funzione per richiedere all'utente il dischetto e per controllare la
|
|
|
|
// corretta sequenza dei dischetti da inserire
|
1995-09-11 15:13:50 +00:00
|
|
|
FILE* ask_disk(TFilename& name, int disk, char floppy, bool lettura) const;
|
|
|
|
|
1996-02-05 19:00:53 +00:00
|
|
|
// @cmember Ritorna la dimensione del file <p f>
|
1995-09-11 15:13:50 +00:00
|
|
|
long fsize(FILE* f) const;
|
1996-02-05 19:00:53 +00:00
|
|
|
// @cmember Spezza il file in modo da farlo stare sul dischetto
|
1995-09-11 15:13:50 +00:00
|
|
|
bool fsplit(const char* filename, char floppy, const char* desc = "") const;
|
1996-02-05 19:00:53 +00:00
|
|
|
// @cmember Ricostruisce il file spezzato
|
1995-09-11 15:13:50 +00:00
|
|
|
bool fbuild(const char* filename, char floppy) const;
|
1996-02-05 19:00:53 +00:00
|
|
|
|
|
|
|
// @cmember Ricostruisce la lista dei file contenuti nel backup
|
1995-09-11 15:13:50 +00:00
|
|
|
int build_backup_list(long firm, TString_array& fl) const;
|
1996-02-05 19:00:53 +00:00
|
|
|
// @cmember Costruisce la lista delle directory da scompattare
|
1995-09-11 15:13:50 +00:00
|
|
|
int build_restore_list(long firm, char floppy, TString_array& fl) const;
|
|
|
|
|
1996-02-05 19:00:53 +00:00
|
|
|
// @access Public Member
|
1995-09-11 15:13:50 +00:00
|
|
|
public:
|
1996-02-05 19:00:53 +00:00
|
|
|
// @cmember Effettua il backup della directory
|
1995-09-20 09:32:12 +00:00
|
|
|
bool backup(const char* dir, char floppy, const char* desc, bool pr_set=TRUE);
|
1996-02-05 19:00:53 +00:00
|
|
|
// @cmember Effettua il backup della ditta
|
1995-09-20 09:32:12 +00:00
|
|
|
bool backup(long firm, char floppy, const char* desc, bool pr_set=TRUE);
|
1995-09-11 15:13:50 +00:00
|
|
|
|
1996-02-05 19:00:53 +00:00
|
|
|
// @cmember Effettua il restore della directory
|
1995-09-20 09:32:12 +00:00
|
|
|
bool restore(const char* dir, char floppy, bool temp, bool pr_set=TRUE);
|
1996-02-05 19:00:53 +00:00
|
|
|
// @cmember Effettua il restore della ditta
|
1995-09-20 09:32:12 +00:00
|
|
|
bool restore(long firm, char floppy, bool temp, bool pr_set=TRUE);
|
1995-09-11 15:13:50 +00:00
|
|
|
|
1996-02-05 19:00:53 +00:00
|
|
|
// @cmember Interrompe le operazioni
|
1995-09-11 15:13:50 +00:00
|
|
|
void stop_job();
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|