QGIS API Documentation 3.40.0-Bratislava (b56115d8743)
Loading...
Searching...
No Matches
qgsarchive.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsarchive.h
3 ----------------
4
5 begin : July 07, 2017
6 copyright : (C) 2017 by Paul Blottiere
8 ***************************************************************************/
9
10/***************************************************************************
11 * *
12 * This program is free software; you can redistribute it and/or modify *
13 * it under the terms of the GNU General Public License as published by *
14 * the Free Software Foundation; either version 2 of the License, or *
15 * (at your option) any later version. *
16 * *
17 ***************************************************************************/
18
19#ifndef QGSARCHIVE_H
20#define QGSARCHIVE_H
21
22#include "qgis_core.h"
23
24#include <QStringList>
25#include <QTemporaryFile>
26#include <QTemporaryDir>
27#include <memory>
28
34class CORE_EXPORT QgsArchive
35{
36 public:
37
38 QgsArchive();
39
40 QgsArchive( const QgsArchive &other );
41
42 QgsArchive &operator=( const QgsArchive &other );
43
44 virtual ~QgsArchive() = default;
45
51 bool zip( const QString &zipFilename );
52
59 virtual bool unzip( const QString &zipFilename );
60
65 void clear();
66
72 void addFile( const QString &filename );
73
79 bool removeFile( const QString &filename );
80
84 QStringList files() const;
85
89 QString dir() const;
90
95 bool exists() const;
96
97 private:
98 // content of the archive
99 QStringList mFiles;
100
101 // used when unzip is performed
102 std::unique_ptr<QTemporaryDir> mDir;
103};
104
110class CORE_EXPORT QgsProjectArchive : public QgsArchive
111{
112 public:
113
121 bool unzip( const QString &zipFilename ) override;
122
126 QString projectFile() const;
127
132 bool clearProjectFile();
133
138 QString auxiliaryStorageFile() const;
139};
140
141#endif
Class allowing to manage the zip/unzip actions.
Definition qgsarchive.h:35
virtual ~QgsArchive()=default
Class allowing to manage the zip/unzip actions on project file.
Definition qgsarchive.h:111