summaryrefslogtreecommitdiffstats
path: root/ui/qt/utils/wireshark_zip_helper.h
blob: 7845f70a88912c5721bfa9abd555fd0c509ec6b6 (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
38
39
40
/** @file
 *
 * Definitions for zip / unzip of files
 *
 * Wireshark - Network traffic analyzer
 * By Gerald Combs <gerald@wireshark.org>
 * Copyright 1998 Gerald Combs
 *
 * SPDX-License-Identifier: GPL-2.0-or-later
 */

#ifndef WS_ZIP_HELPER_H
#define WS_ZIP_HELPER_H

#include "config.h"

#include <QDir>

#if defined(HAVE_MINIZIP) || defined(HAVE_MINIZIPNG)

#ifdef HAVE_MINIZIP
#include "minizip/zip.h"
#else
#include "minizip-ng/mz_compat.h"
#endif

class WiresharkZipHelper
{
public:
    static bool zip(QString zipFile, QStringList files, QString relativeTo = QString());
    static bool unzip(QString zipFile, QString directory, bool (*fileCheck)(QString fileName, int fileSize) = Q_NULLPTR, QString (*cleanName)(QString name) = Q_NULLPTR);

protected:
    static void addFileToZip(zipFile zf, QString filepath, QString fileInZip);

};

#endif

#endif // WS_ZIP_HELPER_H