File indexing completed on 2024-12-01 05:20:02

0001 /*
0002     SPDX-FileCopyrightText: 2002 Szombathelyi György <gyurco@users.sourceforge.net>
0003     SPDX-FileCopyrightText: 2004-2022 Krusader Krew <https://krusader.org>
0004 
0005     SPDX-License-Identifier: GPL-2.0-or-later
0006 */
0007 
0008 #ifndef KISOFILE_H
0009 #define KISOFILE_H
0010 
0011 // QtCore
0012 #include <QString>
0013 
0014 #include <KArchive/KArchive>
0015 
0016 class KIsoFile : public KArchiveFile
0017 {
0018 public:
0019     KIsoFile(KArchive *archive,
0020              const QString &name,
0021              int access,
0022              time_t date,
0023              time_t adate,
0024              time_t cdate,
0025              const QString &user,
0026              const QString &group,
0027              const QString &symlink,
0028              long long pos,
0029              long long size);
0030     ~KIsoFile();
0031     void setZF(char algo[2], char parms[2], long long realsize);
0032     time_t adate() const
0033     {
0034         return m_adate;
0035     }
0036     time_t cdate() const
0037     {
0038         return m_cdate;
0039     }
0040     long long realsize() const
0041     {
0042         return m_realsize;
0043     }
0044 
0045     virtual QByteArray dataAt(long long pos, long long count) const;
0046 
0047 private:
0048     /* hide this member function, it's broken by design, because the full
0049     data often requires too much memory */
0050     char m_algo[2], m_parms[2];
0051     long long m_realsize;
0052     time_t m_adate, m_cdate;
0053 };
0054 
0055 #endif