Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/MariaDB/mysql-test/suite/federated/   (MariaDB Server Version 8.1-8.4©)  Datei vom 1.9.2026 mit Größe 54 B image not shown  

Quelle  filamzip.h  Sprache: unbekannt

 
/************** 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.19 Sekunden, vorverarbeitet 2026-10-08]