My Project
ZipWriter.h
1 #pragma once
2 #include "IAttributeFields.h"
3 
4 
5 namespace ParaEngine
6 {
7  void dosdatetime2filetime(WORD dosdate, WORD dostime, time_t *ft);
8 #ifdef WIN32
9  void standardtime2osfiletime(time_t t, LPFILETIME pft);
10 #else
11  void standardtime2osfiletime(time_t source_t, time_t* target_t);
12 #endif
13  void filetime2dosdatetime(const time_t& ft, WORD *dosdate, WORD *dostime);
14 
15  class ZipArchiveEntry;
16 
28  {
29  public:
30  CZipWriter();
31  ~CZipWriter();
32 
33  ATTRIBUTE_DEFINE_CLASS(CZipWriter);
34  ATTRIBUTE_SUPPORT_CREATE_FACTORY(CZipWriter);
35 
36  enum ZipResult {
37  ZIP_OK = 0,
38  ZIP_NOFILE = 0x00000200,
39  };
40  public:
45  static CZipWriter* CreateZip(const char *filename, const char *password = NULL);
46 
48  bool IsValid();
49 
51  void InitNewZip(const char *filename, const char *password = NULL);
52 
60  DWORD ZipAdd(const char* destFilename, const char* filename);
61 
62 
63  DWORD ZipAdd(const char* destFilename, CParaFile* pFile);
64 
71  DWORD ZipAddFolder(const char* destFilename);
72 
80  DWORD AddDirectory(const char* dstzn, const char* filepattern, int nSubLevel=0);
81 
86  DWORD close();
87 
89  static int Compress(std::string& outstring, const char* src, int nSrcSize, int compressionlevel = -1);
90 
91  protected:
92  int SaveAndClose();
93  void removeAllEntries();
94 
95  protected:
96  std::vector<ZipArchiveEntry*> m_entries;
97  std::string m_filename;
98  std::string m_password;
99  };
100 }
different physics engine has different winding order.
Definition: EventBinding.h:32
void InitNewZip(const char *filename, const char *password=NULL)
create a new zip file
Definition: ZipWriter.cpp:311
DWORD ZipAddFolder(const char *destFilename)
add a zip folder to the zip file.
Definition: ZipWriter.cpp:334
creating zip files
Definition: ZipWriter.h:27
A common interface for all classes implementing IAttributeFields By implementing this class&#39;s virtual...
Definition: IAttributeFields.h:59
static int Compress(std::string &outstring, const char *src, int nSrcSize, int compressionlevel=-1)
compress without zip header
it presents a real or virtual file in ParaEngine.
Definition: ParaFile.h:31
static CZipWriter * CreateZip(const char *filename, const char *password=NULL)
call this to start the creation of a zip file.
Definition: ZipWriter.cpp:293
bool IsValid()
whether the writer is valid.
Definition: ZipWriter.cpp:300
DWORD close()
call this when you have finished adding files and folders to the zip file.
Definition: ZipWriter.cpp:305
DWORD ZipAdd(const char *destFilename, const char *filename)
add a zip file to the zip.
Definition: ZipWriter.cpp:326
DWORD AddDirectory(const char *dstzn, const char *filepattern, int nSubLevel=0)
add everything in side a directory to the zip.
Definition: ZipWriter.cpp:342