QGIS API Documentation
4.3.0-Master (16eddb2670e)
Toggle main menu visibility
Loading...
Searching...
No Matches
src
core
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
7
email : paul.blottiere@oslandia.com
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 <memory>
23
24
#include "qgis_core.h"
25
26
#include <QStringList>
27
#include <QTemporaryDir>
28
#include <QTemporaryFile>
29
35
class
CORE_EXPORT
QgsArchive
36
{
37
public
:
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
110
class
CORE_EXPORT
QgsProjectArchive
:
public
QgsArchive
111
{
112
public
:
120
bool
unzip
(
const
QString &zipFilename )
override
;
121
125
QString
projectFile
()
const
;
126
131
bool
clearProjectFile
();
132
137
QString
auxiliaryStorageFile
()
const
;
138
};
139
140
#endif
QgsArchive::QgsArchive
QgsArchive()
Definition
qgsarchive.cpp:37
QgsArchive::operator=
QgsArchive & operator=(const QgsArchive &other)
Definition
qgsarchive.cpp:46
QgsArchive::unzip
virtual bool unzip(const QString &zipFilename)
Clear the current content of this archive and unzip.
Definition
qgsarchive.cpp:117
QgsArchive::zip
bool zip(const QString &zipFilename)
Zip the content of this archive.
Definition
qgsarchive.cpp:68
QgsArchive::clear
void clear()
Clear the current content of this archive and create a new temporary directory.
Definition
qgsarchive.cpp:62
QgsArchive::exists
bool exists() const
Returns true if the archive exists on the filesystem, false otherwise.
Definition
qgsarchive.cpp:145
QgsArchive::addFile
void addFile(const QString &filename)
Add a new file to this archive.
Definition
qgsarchive.cpp:123
QgsArchive::removeFile
bool removeFile(const QString &filename)
Remove a file from this archive and from the filesystem.
Definition
qgsarchive.cpp:128
QgsArchive::dir
QString dir() const
Returns the current temporary directory.
Definition
qgsarchive.cpp:57
QgsArchive::files
QStringList files() const
Returns the list of files within this archive.
Definition
qgsarchive.cpp:140
QgsArchive::~QgsArchive
virtual ~QgsArchive()=default
QgsProjectArchive
Allows managing the zip/unzip actions on project files.
Definition
qgsarchive.h:111
QgsProjectArchive::projectFile
QString projectFile() const
Returns the current .qgs project file or an empty string if there's none.
Definition
qgsarchive.cpp:150
QgsProjectArchive::auxiliaryStorageFile
QString auxiliaryStorageFile() const
Returns the current .qgd auxiliary storage file or an empty string if there's none.
Definition
qgsarchive.cpp:176
QgsProjectArchive::clearProjectFile
bool clearProjectFile()
Remove the current .qgs project file from the temporary directory.
Definition
qgsarchive.cpp:171
QgsProjectArchive::unzip
bool unzip(const QString &zipFilename) override
Clear the current content of this archive and unzip.
Definition
qgsarchive.cpp:163
Generated on
for QGIS API Documentation by
1.17.0