summaryrefslogtreecommitdiffhomepage
path: root/Public/Kits/System.Zip/Zip.hpp
blob: 425d3cc866d87430d92c5de521f6f1fec537ba84 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/* -------------------------------------------

    Copyright Mahrouss Logic

------------------------------------------- */

#pragma once

#define Z_SOLO 1

#include <CompilerKit/CompilerKit.hxx>
#include <System.Zip/Defines.hpp>

namespace System::Zip {
class ZipStream;

class ZipStream final {
 public:
  explicit ZipStream();
  ~ZipStream() noexcept;

 public:
  HCORE_COPY_DEFAULT(ZipStream);

 public:
  FilePtr FlushToFile(const char *name);
  void *Deflate(const char *name);
  void Inflate(const char *name, BYTE *data, QWORD sz);

 private:
  VoidPtr fSharedData{nullptr};
  SizeT fSharedSz{0};

};
}  // namespace System.Zip

#define kZipKitMime "application/x-bzip"