GpgFrontend Project
A Free, Powerful, Easy-to-Use, Compact, Cross-Platform, and Installation-Free OpenPGP(pgp) Crypto Tool.
ArchiveFileOperator.h
1 
29 #ifndef GPGFRONTEND_ARCHIVEFILEOPERATOR_H
30 #define GPGFRONTEND_ARCHIVEFILEOPERATOR_H
31 
32 #include "core/GpgFrontendCore.h"
33 #include "core/function/FileOperator.h"
34 
35 namespace GpgFrontend {
36 
37 struct ArchiveStruct {
38  struct archive *archive;
39  struct archive_entry *entry;
40  int fd;
41  bool is_open;
42  std::string name;
43 };
44 
45 class GPGFRONTEND_CORE_EXPORT ArchiveFileOperator {
46  public:
47  static void ListArchive(const std::filesystem::path &archive_path);
48 
49  static void CreateArchive(const std::filesystem::path &base_path,
50  const std::filesystem::path &archive_path,
51  int compress,
52  const std::vector<std::filesystem::path> &files);
53 
54  static void ExtractArchive(const std::filesystem::path &archive_path,
55  const std::filesystem::path &base_path);
56 };
57 } // namespace GpgFrontend
58 
59 #endif // GPGFRONTEND_ARCHIVEFILEOPERATOR_H
Definition: ArchiveFileOperator.h:45
Definition: CoreCommonUtil.cpp:29
Definition: ArchiveFileOperator.h:37