QuaZip  quazip-1-4
quazipdir.h
1 #ifndef QUAZIP_QUAZIPDIR_H
2 #define QUAZIP_QUAZIPDIR_H
3 
4 /*
5 Copyright (C) 2005-2014 Sergey A. Tachenov
6 
7 This file is part of QuaZip.
8 
9 QuaZip is free software: you can redistribute it and/or modify
10 it under the terms of the GNU Lesser General Public License as published by
11 the Free Software Foundation, either version 2.1 of the License, or
12 (at your option) any later version.
13 
14 QuaZip is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU Lesser General Public License for more details.
18 
19 You should have received a copy of the GNU Lesser General Public License
20 along with QuaZip. If not, see <http://www.gnu.org/licenses/>.
21 
22 See COPYING file for the full LGPL text.
23 
24 Original ZIP package is copyrighted by Gilles Vollant and contributors,
25 see quazip/(un)zip.h files for details. Basically it's the zlib license.
26 */
27 
28 class QuaZipDirPrivate;
29 
30 #include "quazip.h"
31 #include "quazipfileinfo.h"
32 #include <QtCore/QDir>
33 #include <QtCore/QList>
34 #include <QtCore/QSharedDataPointer>
35 
37 
54 class QUAZIP_EXPORT QuaZipDir {
55 private:
56  QSharedDataPointer<QuaZipDirPrivate> d;
57 public:
59  QuaZipDir(const QuaZipDir &that);
61 
65  QuaZipDir(QuaZip *zip, const QString &dir = QString());
67  ~QuaZipDir();
69  bool operator==(const QuaZipDir &that);
71 
75  inline bool operator!=(const QuaZipDir &that) {return !operator==(that);}
77 
81  QuaZipDir& operator=(const QuaZipDir &that);
83  QString operator[](int pos) const;
85  QuaZip::CaseSensitivity caseSensitivity() const;
87 
96  bool cd(const QString &dirName);
98  bool cdUp();
100  uint count() const;
102 
105  QString dirName() const;
107 
114  QList<QuaZipFileInfo> entryInfoList(const QStringList &nameFilters,
115  QDir::Filters filters = QDir::NoFilter,
116  QDir::SortFlags sort = QDir::NoSort) const;
118 
123  QList<QuaZipFileInfo> entryInfoList(QDir::Filters filters = QDir::NoFilter,
124  QDir::SortFlags sort = QDir::NoSort) const;
126 
133  QList<QuaZipFileInfo64> entryInfoList64(const QStringList &nameFilters,
134  QDir::Filters filters = QDir::NoFilter,
135  QDir::SortFlags sort = QDir::NoSort) const;
137 
142  QList<QuaZipFileInfo64> entryInfoList64(QDir::Filters filters = QDir::NoFilter,
143  QDir::SortFlags sort = QDir::NoSort) const;
145 
149  QStringList entryList(const QStringList &nameFilters,
150  QDir::Filters filters = QDir::NoFilter,
151  QDir::SortFlags sort = QDir::NoSort) const;
153 
158  QStringList entryList(QDir::Filters filters = QDir::NoFilter,
159  QDir::SortFlags sort = QDir::NoSort) const;
161 
167  bool exists(const QString &fileName) const;
169  bool exists() const;
171 
174  QString filePath(const QString &fileName) const;
176  QDir::Filters filter();
178 
181  bool isRoot() const;
183  QStringList nameFilters() const;
185 
189  QString path() const;
191 
199  QString relativeFilePath(const QString &fileName) const;
201  void setCaseSensitivity(QuaZip::CaseSensitivity caseSensitivity);
203  void setFilter(QDir::Filters filters);
205  void setNameFilters(const QStringList &nameFilters);
207 
216  void setPath(const QString &path);
218  void setSorting(QDir::SortFlags sort);
220  QDir::SortFlags sorting() const;
221 };
222 
223 #endif // QUAZIP_QUAZIPDIR_H
QuaZipDir::entryInfoList64
QList< QuaZipFileInfo64 > entryInfoList64(const QStringList &nameFilters, QDir::Filters filters=QDir::NoFilter, QDir::SortFlags sort=QDir::NoSort) const
Returns the list of the entries in the directory with zip64 support.
Definition: quazipdir.cpp:389
QuaZipDir::setNameFilters
void setNameFilters(const QStringList &nameFilters)
Sets the default name filter.
Definition: quazipdir.cpp:506
QuaZipDir::exists
bool exists(const QString &fileName) const
Returns true if the entry with the specified name exists.
Definition: quazipdir.cpp:419
QuaZipFileInfo64::versionCreated
quint16 versionCreated
Version created by.
Definition: quazipfileinfo.h:89
QuaZipDir::~QuaZipDir
~QuaZipDir()
Destructor.
QuaZipDir::caseSensitivity
QuaZip::CaseSensitivity caseSensitivity() const
Returns the current case sensitivity mode.
Definition: quazipdir.cpp:71
QuaZipDir::setFilter
void setFilter(QDir::Filters filters)
Sets the default filter.
Definition: quazipdir.cpp:501
QuaZipDir::count
uint count() const
Returns the number of entries in the directory.
Definition: quazipdir.cpp:137
QuaZip::convertCaseSensitivity
static Qt::CaseSensitivity convertCaseSensitivity(CaseSensitivity cs)
Returns the actual case sensitivity for the specified QuaZip one.
Definition: quazip.cpp:773
QuaZipDir::filePath
QString filePath(const QString &fileName) const
Returns the full path to the specified file.
Definition: quazipdir.cpp:466
QuaZipFileInfo64::versionNeeded
quint16 versionNeeded
Version needed to extract.
Definition: quazipfileinfo.h:91
QuaZipDir::setPath
void setPath(const QString &path)
Goes to the specified path.
Definition: quazipdir.cpp:511
QuaZipFileInfo64::externalAttr
quint32 externalAttr
External file attributes.
Definition: quazipfileinfo.h:116
QuaZipDir::dirName
QString dirName() const
Returns the current directory name.
Definition: quazipdir.cpp:142
QuaZipDir::sorting
QDir::SortFlags sorting() const
Returns the default sorting mode.
Definition: quazipdir.cpp:530
QuaZipDir::setSorting
void setSorting(QDir::SortFlags sort)
Sets the default sorting mode.
Definition: quazipdir.cpp:525
QuaZipDir::operator=
QuaZipDir & operator=(const QuaZipDir &that)
operator==
QuaZipDir::filter
QDir::Filters filter()
Returns the default filter.
Definition: quazipdir.cpp:471
QuaZip::goToNextFile
bool goToNextFile()
Sets the current file to the next file in the archive.
Definition: quazip.cpp:495
QuaZip::getCurrentFileInfo
bool getCurrentFileInfo(QuaZipFileInfo *info) const
Retrieves information about the current file.
Definition: quazip.cpp:509
QuaZip::getZipError
int getZipError() const
Returns the error code of the last operation.
Definition: quazip.cpp:653
QuaZip::setCurrentFile
bool setCurrentFile(const QString &fileName, CaseSensitivity cs=csDefault)
Sets current file by its name.
Definition: quazip.cpp:425
QuaZipFileInfo
Information about a file inside archive.
Definition: quazipfileinfo.h:45
QuaZipDir::entryList
QStringList entryList(const QStringList &nameFilters, QDir::Filters filters=QDir::NoFilter, QDir::SortFlags sort=QDir::NoSort) const
Returns the list of the entry names in the directory.
Definition: quazipdir.cpp:404
QuaZipFileInfo64::crc
quint32 crc
CRC.
Definition: quazipfileinfo.h:106
QuaZipFileInfo64::compressedSize
quint64 compressedSize
Compressed file size.
Definition: quazipfileinfo.h:108
QuaZipDir::operator[]
QString operator[](int pos) const
Returns the name of the entry at the specified position.
Definition: quazipdir.cpp:66
QuaZipDir::entryInfoList
QList< QuaZipFileInfo > entryInfoList(const QStringList &nameFilters, QDir::Filters filters=QDir::NoFilter, QDir::SortFlags sort=QDir::NoSort) const
Returns the list of the entries in the directory.
Definition: quazipdir.cpp:374
QuaZip::CaseSensitivity
CaseSensitivity
Case sensitivity for the file names.
Definition: quazip.h:114
QuaZip
ZIP archive.
Definition: quazip.h:84
QuaZipDir::cd
bool cd(const QString &dirName)
Changes the 'current' directory.
Definition: quazipdir.cpp:76
QuaZipFileInfo64::method
quint16 method
Compression method.
Definition: quazipfileinfo.h:95
QuaZipFileInfo64::uncompressedSize
quint64 uncompressedSize
Uncompressed file size.
Definition: quazipfileinfo.h:110
QuaZipDir
Provides ZIP archive navigation.
Definition: quazipdir.h:54
QuaZipDir::nameFilters
QStringList nameFilters() const
Return the default name filter.
Definition: quazipdir.cpp:481
QuaZipDir::cdUp
bool cdUp()
Goes up.
Definition: quazipdir.cpp:132
QuaZipFileInfo64::dateTime
QDateTime dateTime
Last modification date and time.
Definition: quazipfileinfo.h:104
QuaZipDir::exists
bool exists() const
Return true if the directory pointed by this QuaZipDir exists.
Definition: quazipdir.cpp:461
QuaZipDir::path
QString path() const
Returns the path to the current dir.
Definition: quazipdir.cpp:486
QuaZipDir::operator!=
bool operator!=(const QuaZipDir &that)
operator!=
Definition: quazipdir.h:75
QuaZipFileInfo64::flags
quint16 flags
General purpose flags.
Definition: quazipfileinfo.h:93
QuaZip::csDefault
@ csDefault
Default for platform. Case sensitive for UNIX, not for Windows.
Definition: quazip.h:115
QuaZip::getCurrentFileName
QString getCurrentFileName() const
Returns the current file name.
Definition: quazip.cpp:567
QuaZipFileInfo64
Information about a file inside archive (with zip64 support).
Definition: quazipfileinfo.h:85
QuaZipDir::setCaseSensitivity
void setCaseSensitivity(QuaZip::CaseSensitivity caseSensitivity)
Sets the default case sensitivity mode.
Definition: quazipdir.cpp:496
QuaZipFileInfo64::name
QString name
File name.
Definition: quazipfileinfo.h:87
QuaZip::goToFirstFile
bool goToFirstFile()
Sets the current file to the first file in the archive.
Definition: quazip.cpp:483
QuaZipDir::isRoot
bool isRoot() const
Returns if the QuaZipDir points to the root of the archive.
Definition: quazipdir.cpp:476
QuaZipDir::operator==
bool operator==(const QuaZipDir &that)
The assignment operator.
Definition: quazipdir.cpp:61
QuaZipFileInfo64::diskNumberStart
quint16 diskNumberStart
Disk number start.
Definition: quazipfileinfo.h:112
QuaZipFileInfo64::internalAttr
quint16 internalAttr
Internal file attributes.
Definition: quazipfileinfo.h:114
QuaZipDir::QuaZipDir
QuaZipDir(const QuaZipDir &that)
The copy constructor.
QuaZipDir::relativeFilePath
QString relativeFilePath(const QString &fileName) const
Returns the path to the specified file relative to the current dir.
Definition: quazipdir.cpp:491