QuaZIP quazip-0-6-2
|
00001 #ifndef QUAZIP_QUAZIPDIR_H 00002 #define QUAZIP_QUAZIPDIR_H 00003 00004 /* 00005 Copyright (C) 2005-2014 Sergey A. Tachenov 00006 00007 This file is part of QuaZIP. 00008 00009 QuaZIP is free software: you can redistribute it and/or modify 00010 it under the terms of the GNU Lesser General Public License as published by 00011 the Free Software Foundation, either version 3 of the License, or 00012 (at your option) any later version. 00013 00014 QuaZIP is distributed in the hope that it will be useful, 00015 but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00017 GNU Lesser General Public License for more details. 00018 00019 You should have received a copy of the GNU Lesser General Public License 00020 along with QuaZIP. If not, see <http://www.gnu.org/licenses/>. 00021 00022 See COPYING file for the full LGPL text. 00023 00024 Original ZIP package is copyrighted by Gilles Vollant and contributors, 00025 see quazip/(un)zip.h files for details. Basically it's the zlib license. 00026 */ 00027 00028 class QuaZipDirPrivate; 00029 00030 #include "quazip.h" 00031 #include "quazipfileinfo.h" 00032 #include <QDir> 00033 #include <QList> 00034 #include <QSharedDataPointer> 00035 00037 00054 class QUAZIP_EXPORT QuaZipDir { 00055 private: 00056 QSharedDataPointer<QuaZipDirPrivate> d; 00057 public: 00059 QuaZipDir(const QuaZipDir &that); 00061 00065 QuaZipDir(QuaZip *zip, const QString &dir = QString()); 00067 ~QuaZipDir(); 00069 bool operator==(const QuaZipDir &that); 00071 00075 inline bool operator!=(const QuaZipDir &that) {return !operator==(that);} 00077 00081 QuaZipDir& operator=(const QuaZipDir &that); 00083 QString operator[](int pos) const; 00085 QuaZip::CaseSensitivity caseSensitivity() const; 00087 00096 bool cd(const QString &dirName); 00098 bool cdUp(); 00100 uint count() const; 00102 00105 QString dirName() const; 00107 00114 QList<QuaZipFileInfo> entryInfoList(const QStringList &nameFilters, 00115 QDir::Filters filters = QDir::NoFilter, 00116 QDir::SortFlags sort = QDir::NoSort) const; 00118 00123 QList<QuaZipFileInfo> entryInfoList(QDir::Filters filters = QDir::NoFilter, 00124 QDir::SortFlags sort = QDir::NoSort) const; 00126 00133 QList<QuaZipFileInfo64> entryInfoList64(const QStringList &nameFilters, 00134 QDir::Filters filters = QDir::NoFilter, 00135 QDir::SortFlags sort = QDir::NoSort) const; 00137 00142 QList<QuaZipFileInfo64> entryInfoList64(QDir::Filters filters = QDir::NoFilter, 00143 QDir::SortFlags sort = QDir::NoSort) const; 00145 00149 QStringList entryList(const QStringList &nameFilters, 00150 QDir::Filters filters = QDir::NoFilter, 00151 QDir::SortFlags sort = QDir::NoSort) const; 00153 00158 QStringList entryList(QDir::Filters filters = QDir::NoFilter, 00159 QDir::SortFlags sort = QDir::NoSort) const; 00161 00167 bool exists(const QString &fileName) const; 00169 bool exists() const; 00171 00174 QString filePath(const QString &fileName) const; 00176 QDir::Filters filter(); 00178 00181 bool isRoot() const; 00183 QStringList nameFilters() const; 00185 00189 QString path() const; 00191 00199 QString relativeFilePath(const QString &fileName) const; 00201 void setCaseSensitivity(QuaZip::CaseSensitivity caseSensitivity); 00203 void setFilter(QDir::Filters filters); 00205 void setNameFilters(const QStringList &nameFilters); 00207 00216 void setPath(const QString &path); 00218 void setSorting(QDir::SortFlags sort); 00220 QDir::SortFlags sorting() const; 00221 }; 00222 00223 #endif // QUAZIP_QUAZIPDIR_H