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(
50  const std::filesystem::path &base_path,
51  const std::filesystem::path &archive_path,
52  int compress,
53  const std::vector<std::filesystem::path> &files);
54 
55  static void ExtractArchive(
56  const std::filesystem::path &archive_path,
57  const std::filesystem::path &base_path);
58 };
59 } // namespace GpgFrontend
60 
61 #endif // GPGFRONTEND_ARCHIVEFILEOPERATOR_H
GpgFrontend::FileOperator::ReadFile
static bool ReadFile(const QString &file_name, QByteArray &data)
read file content
Definition: FileOperator.cpp:31
GpgFrontend::ArchiveStruct
Definition: ArchiveFileOperator.h:37
GpgFrontend::RawAPI::aes_256_cbc_decrypt
uint8_t * aes_256_cbc_decrypt(EVP_CIPHER_CTX *e, uint8_t *ciphertext, int *len)
Decrypt *len bytes of ciphertext.
Definition: aes_ssl_cbc.cpp:86
GpgFrontend
Definition: CoreCommonUtil.cpp:29
GpgFrontend::RawAPI
Definition: aes_ssl.h:37
GpgFrontend::RawAPI::aes_256_cbc_encrypt
uint8_t * aes_256_cbc_encrypt(EVP_CIPHER_CTX *e, uint8_t *plaintext, int *len)
Encrypt *len bytes of data All data going in & out is considered binary (uint8_t[])
Definition: aes_ssl_cbc.cpp:58
GpgFrontend::ArchiveFileOperator
Definition: ArchiveFileOperator.h:45
GpgFrontend::RawAPI::aes_256_cbc_init
int aes_256_cbc_init(uint8_t *key_data, int key_data_len, uint8_t *salt, EVP_CIPHER_CTX *e_ctx, EVP_CIPHER_CTX *d_ctx)
Create a 256 bit key and IV using the supplied key_data. salt can be added for taste....
Definition: aes_ssl_cbc.cpp:24