QuaZIP  quazip-0-9
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:421
QuaZipDir::setNameFilters
void setNameFilters(const QStringList &nameFilters)
Sets the default name filter.
Definition: quazipdir.cpp:544
QuaZipDir::exists
bool exists(const QString &fileName) const
Returns true if the entry with the specified name exists.
Definition: quazipdir.cpp:453
QuaZipFileInfo64::versionCreated
quint16 versionCreated
Version created by.
Definition: quazipfileinfo.h:89
QuaZipDir::~QuaZipDir
~QuaZipDir()
Destructor.
Definition: quazipdir.cpp:62
QuaZipDir::caseSensitivity
QuaZip::CaseSensitivity caseSensitivity() const
Returns the current case sensitivity mode.
Definition: quazipdir.cpp:82
QuaZipDir::setFilter
void setFilter(QDir::Filters filters)
Sets the default filter.
Definition: quazipdir.cpp:539
QuaZipDir::count
uint count() const
Returns the number of entries in the directory.
Definition: quazipdir.cpp:155
QuaZip::convertCaseSensitivity
static Qt::CaseSensitivity convertCaseSensitivity(CaseSensitivity cs)
Returns the actual case sensitivity for the specified QuaZIP one.
Definition: quazip.cpp:785
QuaZipDir::filePath
QString filePath(const QString &fileName) const
Returns the full path to the specified file.
Definition: quazipdir.cpp:504
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:549
QuaZipFileInfo64::externalAttr
quint32 externalAttr
External file attributes.
Definition: quazipfileinfo.h:116
QuaZipDir::dirName
QString dirName() const
Returns the current directory name.
Definition: quazipdir.cpp:160
QuaZipDir::sorting
QDir::SortFlags sorting() const
Returns the default sorting mode.
Definition: quazipdir.cpp:568
QuaZipDir::setSorting
void setSorting(QDir::SortFlags sort)
Sets the default sorting mode.
Definition: quazipdir.cpp:563
QuaZipDir::operator=
QuaZipDir & operator=(const QuaZipDir &that)
operator==
Definition: quazipdir.cpp:71
QuaZipDir::filter
QDir::Filters filter()
Returns the default filter.
Definition: quazipdir.cpp:509
QuaZip::goToNextFile
bool goToNextFile()
Sets the current file to the next file in the archive.
Definition: quazip.cpp:503
QuaZip::getCurrentFileInfo
bool getCurrentFileInfo(QuaZipFileInfo *info) const
Retrieves information about the current file.
Definition: quazip.cpp:517
QuaZip::getZipError
int getZipError() const
Returns the error code of the last operation.
Definition: quazip.cpp:662
QuaZip::setCurrentFile
bool setCurrentFile(const QString &fileName, CaseSensitivity cs=csDefault)
Sets current file by its name.
Definition: quazip.cpp:433
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:437
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:77
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:405
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:87
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:519
QuaZipDir::cdUp
bool cdUp()
Goes up.
Definition: quazipdir.cpp:150
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:499
QuaZipDir::path
QString path() const
Returns the path to the current dir.
Definition: quazipdir.cpp:524
QuaZipDir::operator!=
bool operator!=(const QuaZipDir &that)
operator!=
Definition: quazipdir.h:75
QuaZipFileInfo64::flags
quint16 flags
General purpose flags.
Definition: quazipfileinfo.h:93
QuaZip::getCurrentFileName
QString getCurrentFileName() const
Returns the current file name.
Definition: quazip.cpp:576
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:534
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:491
QuaZipDir::isRoot
bool isRoot() const
Returns if the QuaZipDir points to the root of the archive.
Definition: quazipdir.cpp:514
QuaZipDir::operator==
bool operator==(const QuaZipDir &that)
The assignment operator.
Definition: quazipdir.cpp:66
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.
Definition: quazipdir.cpp:50
QuaZipDir::relativeFilePath
QString relativeFilePath(const QString &fileName) const
Returns the path to the specified file relative to the current dir.
Definition: quazipdir.cpp:529