summaryrefslogtreecommitdiffstats
path: root/src/corelib/io/qzipreader_p.h
blob: e6ddd0dc9968d987529e8fbce5117e7d59ae6485 (plain)
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
// Copyright (C) 2016 The Qt Company Ltd.// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only#ifndef QZIPREADER_H#define QZIPREADER_H#include <QtCore/private/qglobal_p.h>//// W A R N I N G// -------------//// This file is not part of the Qt API. It exists for the convenience// of the QZipReader class. This header file may change from// version to version without notice, or even be removed.//// We mean it.//#include <QtCore/qdatetime.h>#include <QtCore/qfile.h>#include <QtCore/qstring.h> QT_BEGIN_NAMESPACE class QZipReaderPrivate;class Q_CORE_EXPORT QZipReader {public:explicitQZipReader(const QString &fileName,QIODevice::OpenMode mode =QIODevice::ReadOnly );explicitQZipReader(QIODevice *device);~QZipReader(); QIODevice*device()const;boolisReadable()const;boolexists()const;struct FileInfo {FileInfo() noexcept :isDir(false),isFile(false),isSymLink(false),crc(0),size(0){}boolisValid()const noexcept {return isDir || isFile || isSymLink; } QString filePath; uint isDir :1; uint isFile :1; uint isSymLink :1;QFile::Permissions permissions; uint crc; qint64 size; QDateTime lastModified;}; QList<FileInfo>fileInfoList()const;intcount()const; FileInfo entryInfoAt(int index)const; QByteArray fileData(const QString &fileName)const;boolextractAll(const QString &destinationDir)const;enum Status { NoError, FileReadError, FileOpenError, FilePermissionsError, FileError }; Status status()const;voidclose();private: QZipReaderPrivate *d;Q_DISABLE_COPY_MOVE(QZipReader)};Q_DECLARE_TYPEINFO(QZipReader::FileInfo, Q_RELOCATABLE_TYPE);Q_DECLARE_TYPEINFO(QZipReader::Status, Q_PRIMITIVE_TYPE); QT_END_NAMESPACE #endif// QZIPREADER_H
close