Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  filamzip.h   Sprache: C

 

/************** filamzip H Declares Source Code File (.H) **************/
/*  Name: filamzip.h   Version 1.3                                     */
/*                                                                     */
/*  (C) Copyright to the author Olivier BERTRAND          2016-2020    */
/*                                                                     */
/*  This file contains the ZIP file access method classes declares.    */
/***********************************************************************/
#ifndef __FILAMZIP_H
#define __FILAMZIP_H

#include "block.h"
#include "filamap.h"
#include "filamfix.h"
#include "filamdbf.h"
#include "zip.h"
#include "unzip.h"

#define DLLEXPORT extern "C"

typedef class UNZFAM *PUNZFAM;
typedef class UZXFAM *PUZXFAM;
typedef class UZDFAM* PUZDFAM;
typedef class ZIPFAM *PZIPFAM;
typedef class ZPXFAM *PZPXFAM;

/***********************************************************************/
/*  This is the ZIP utility fonctions class.                           */
/***********************************************************************/
class DllExport ZIPUTIL : public BLOCK {
 public:
 // Constructor
 ZIPUTIL(PCSZ tgt);
 //ZIPUTIL(ZIPUTIL *zutp);

 // Methods
 bool OpenTable(PGLOBAL g, MODE mode, PCSZ fn, bool append);
 bool open(PGLOBAL g, PCSZ fn, bool append);
 bool addEntry(PGLOBAL g, PCSZ entry);
 void close(void);
 void closeEntry(void);
  int  writeEntry(PGLOBAL g, char *buf, int len);
 void getTime(tm_zip& tmZip);

 // Members
 zipFile         zipfile;       // The ZIP container file
 PCSZ            target;        // The target file name
 PCSZ            pwd;          // The ZIP file password
 PFBLOCK         fp;
 bool            entryopen;      // True when open current entry
}; // end of ZIPUTIL

/***********************************************************************/
/*  This is the unZIP utility fonctions class.                         */
/***********************************************************************/
class DllExport UNZIPUTL : public BLOCK {
 public:
 // Constructor
  UNZIPUTL(PCSZ tgt, PCSZ pw, bool mul);
  UNZIPUTL(PDOSDEF tdp);

 // Implementation
//PTXF Duplicate(PGLOBAL g) { return (PTXF) new(g)UNZFAM(this); }

 // Methods
 bool OpenTable(PGLOBAL g, MODE mode, PCSZ fn);
 bool open(PGLOBAL g, PCSZ fn);
 bool openEntry(PGLOBAL g);
 void close(void);
 void closeEntry(void);
 bool WildMatch(PCSZ pat, PCSZ str);
 int  findEntry(PGLOBAL g, bool next);
 int  nextEntry(PGLOBAL g);
 bool IsInsertOk(PGLOBAL g, PCSZ fn);

 // Members
 unzFile         zipfile;       // The ZIP container file
 PCSZ            target;        // The target file name
 PCSZ            pwd;          // The ZIP file password
 unz_file_info   finfo;        // The current file info
 PFBLOCK         fp;
 char           *memory;
 uint            size;
 int             multiple;             // Multiple targets
 bool            entryopen;      // True when open current entry
 char            fn[FILENAME_MAX];     // The current entry file name
 char            mapCaseTable[256];
}; // end of UNZIPUTL

/***********************************************************************/
/*  This is the unzip file access method.                              */
/***********************************************************************/
class DllExport UNZFAM : public MAPFAM {
//friend class UZXFAM;
 public:
 // Constructors
 UNZFAM(PDOSDEF tdp);
 UNZFAM(PUNZFAM txfp);

 // Implementation
 AMT  GetAmType(void) override {return TYPE_AM_ZIP;}
 PTXF Duplicate(PGLOBAL g) override {return (PTXF) new(g) UNZFAM(this);}

 // Methods
 int  Cardinality(PGLOBAL g) override;
 int  GetFileLength(PGLOBAL g) override;
 //virtual int  MaxBlkSize(PGLOBAL g, int s) {return s;}
 bool OpenTableFile(PGLOBAL g) override;
 bool DeferReading(void) override { return false; }
 int  GetNext(PGLOBAL g) override;
 //virtual int  ReadBuffer(PGLOBAL g);
 //virtual int  WriteBuffer(PGLOBAL g);
 //virtual int  DeleteRecords(PGLOBAL g, int irc);
 //virtual void CloseTableFile(PGLOBAL g, bool abort);

 protected:
 // Members
 UNZIPUTL *zutp;
 PDOSDEF   tdfp;
}; // end of UNZFAM

/***********************************************************************/
/*  This is the fixed unzip file access method.                        */
/***********************************************************************/
class DllExport UZXFAM : public MPXFAM {
//friend class UNZFAM;
 public:
 // Constructors
 UZXFAM(PDOSDEF tdp);
 UZXFAM(PUZXFAM txfp);

 // Implementation
 AMT  GetAmType(void) override { return TYPE_AM_ZIP; }
 PTXF Duplicate(PGLOBAL g) override { return (PTXF) new(g)UZXFAM(this); }

 // Methods
 int  GetFileLength(PGLOBAL g) override;
 int  Cardinality(PGLOBAL g) override;
 bool OpenTableFile(PGLOBAL g) override;
 int  GetNext(PGLOBAL g) override;
 //virtual int  ReadBuffer(PGLOBAL g);

 protected:
 // Members
 UNZIPUTL *zutp;
 PDOSDEF   tdfp;
}; // end of UZXFAM

/***********************************************************************/
/*  This is the fixed unzip file access method.                        */
/***********************************************************************/
class DllExport UZDFAM : public DBMFAM {
 //friend class UNZFAM;
public:
 // Constructors
 UZDFAM(PDOSDEF tdp);
 UZDFAM(PUZDFAM txfp);

 // Implementation
 AMT  GetAmType(void) override { return TYPE_AM_ZIP; }
 PTXF Duplicate(PGLOBAL g) override { return (PTXF) new(g)UZDFAM(this); }

 // Methods
 int  GetFileLength(PGLOBAL g) override;
 int  Cardinality(PGLOBAL g) override;
 bool OpenTableFile(PGLOBAL g) override;
 int  GetNext(PGLOBAL g) override;
 //virtual int  ReadBuffer(PGLOBAL g);

protected:
 int dbfhead(PGLOBAL g, void* buf);
 int ScanHeader(PGLOBAL g, int* rln);

 // Members
 UNZIPUTL* zutp;
 PDOSDEF   tdfp;
}; // end of UZDFAM

/***********************************************************************/
/*  This is the zip file access method.                                */
/***********************************************************************/
class DllExport ZIPFAM : public DOSFAM {
 public:
 // Constructors
 ZIPFAM(PDOSDEF tdp);

 // Implementation
 AMT  GetAmType(void) override {return TYPE_AM_ZIP;}

 // Methods
 int  Cardinality(PGLOBAL g) override {return 0;}
 int  GetFileLength(PGLOBAL g) override {return g ? 0 : 1;}
 //virtual int  MaxBlkSize(PGLOBAL g, int s) {return s;}
 bool OpenTableFile(PGLOBAL g) override;
 int  ReadBuffer(PGLOBAL g) override;
 int  WriteBuffer(PGLOBAL g) override;
 //virtual int  DeleteRecords(PGLOBAL g, int irc);
 void CloseTableFile(PGLOBAL g, bool abort) override;

 protected:
 // Members
 ZIPUTIL *zutp;
 PCSZ     target;
 bool     append;
//bool     replace;
}; // end of ZIPFAM

/***********************************************************************/
/*  This is the fixed zip file access method.                          */
/***********************************************************************/
class DllExport ZPXFAM : public FIXFAM {
 public:
 // Constructors
 ZPXFAM(PDOSDEF tdp);

 // Implementation
 AMT  GetAmType(void) override {return TYPE_AM_ZIP;}

 // Methods
 int  Cardinality(PGLOBAL g) override {return 0;}
 int  GetFileLength(PGLOBAL g) override {return g ? 0 : 1;}
 bool OpenTableFile(PGLOBAL g) override;
 int  WriteBuffer(PGLOBAL g) override;
 void CloseTableFile(PGLOBAL g, bool abort) override;

 protected:
 // Members
 ZIPUTIL *zutp;
 PCSZ      target;
 bool     append;
}; // end of ZPXFAM

#endif // __FILAMZIP_H

Messung V0.5 in Prozent
C=62 H=100 G=83

¤ Dauer der Verarbeitung: 0.20 Sekunden  (vorverarbeitet am  2026-10-08) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Statistik
#Sources=1126864
#Domains=1897691