File indexing completed on 2025-02-16 13:00:36
0001 /* This file is part of the KDE libraries 0002 SPDX-FileCopyrightText: 2000-2005 David Faure <faure@kde.org> 0003 SPDX-FileCopyrightText: 2003 Leo Savernik <l.savernik@aon.at> 0004 0005 SPDX-License-Identifier: LGPL-2.0-or-later 0006 */ 0007 0008 #ifndef KARCHIVE_P_H 0009 #define KARCHIVE_P_H 0010 0011 #include "karchive.h" 0012 0013 #include <QSaveFile> 0014 0015 class KArchivePrivate 0016 { 0017 Q_DECLARE_TR_FUNCTIONS(KArchivePrivate) 0018 0019 public: 0020 KArchivePrivate(KArchive *parent) 0021 : q(parent) 0022 { 0023 } 0024 ~KArchivePrivate() 0025 { 0026 if (deviceOwned) { 0027 delete dev; // we created it ourselves in open() 0028 dev = nullptr; 0029 } 0030 0031 delete saveFile; 0032 delete rootDir; 0033 } 0034 0035 KArchivePrivate(const KArchivePrivate &) = delete; 0036 KArchivePrivate &operator=(const KArchivePrivate &) = delete; 0037 0038 static bool hasRootDir(KArchive *archive) 0039 { 0040 return archive->d->rootDir; 0041 } 0042 0043 void abortWriting(); 0044 0045 static QDateTime time_tToDateTime(uint time_t); 0046 0047 KArchiveDirectory *findOrCreate(const QString &path, int recursionCounter); 0048 0049 KArchive *q = nullptr; 0050 KArchiveDirectory *rootDir = nullptr; 0051 QSaveFile *saveFile = nullptr; 0052 QIODevice *dev = nullptr; 0053 QString fileName; 0054 QIODevice::OpenMode mode = QIODevice::NotOpen; 0055 bool deviceOwned = false; // if true, we (KArchive) own dev and must delete it 0056 QString errorStr{tr("Unknown error")}; 0057 }; 0058 0059 #endif // KARCHIVE_P_H