Warning, file /multimedia/k3b/src/projects/kostore/KoZipStore.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 /* This file is part of the KDE project
0002     SPDX-FileCopyrightText: 2002 David Faure <faure@kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #ifndef koZipStore_h
0008 #define koZipStore_h
0009 
0010 #include "KoStoreBase.h"
0011 
0012 class KZip;
0013 class KArchiveDirectory;
0014 class QByteArray;
0015 class QUrl;
0016 
0017 class KoZipStore : public KoStoreBase
0018 {
0019 public:
0020     KoZipStore( const QString & _filename, Mode _mode, const QByteArray & appIdentification );
0021     KoZipStore( QIODevice *dev, Mode mode, const QByteArray & appIdentification );
0022     /**
0023      * QUrl-constructor
0024      * @todo saving not completely implemented (fixed temporary file)
0025      */
0026     KoZipStore( QWidget* window, const QUrl& _url, const QString & _filename, Mode _mode, const QByteArray & appIdentification );
0027     ~KoZipStore() override;
0028 
0029     qint64 write( const char* _data, qint64 _len ) override;
0030 protected:
0031     virtual bool initZipStore( Mode _mode, const QByteArray& appIdentification );
0032     bool doFinalize() override;
0033     bool openWrite( const QString& name ) override;
0034     bool openRead( const QString& name ) override;
0035     bool closeWrite() override;
0036     bool closeRead() override { return true; }
0037     bool enterRelativeDirectory( const QString& dirName ) override;
0038     bool enterAbsoluteDirectory( const QString& path ) override;
0039     bool fileExists( const QString& absPath ) const override;
0040 
0041     /// The archive
0042     KZip * m_pZip;
0043 
0044     /** In "Read" mode this pointer is pointing to the
0045     current directory in the archive to speed up the verification process */
0046     const KArchiveDirectory* m_currentDir;
0047 };
0048 
0049 #endif