File indexing completed on 2024-12-08 09:40:32
0001 /* 0002 This file is part of the KDE project 0003 SPDX-FileCopyrightText: 2004 David Faure <faure@kde.org> 0004 SPDX-FileCopyrightText: 2008 Norbert Frese <nf2@scheinwelt.at> 0005 0006 SPDX-License-Identifier: LGPL-2.0-or-later 0007 */ 0008 0009 /* 0010 Please set KIO_JOBREMOTETEST_REMOTETMP to test other protocols than kio_file. 0011 Don't forget the trailing slash! 0012 */ 0013 0014 #ifndef JOBREMOTETEST_H 0015 #define JOBREMOTETEST_H 0016 0017 #include <QObject> 0018 #include <QString> 0019 0020 #include <kio/global.h> 0021 #include <kio/udsentry.h> 0022 0023 namespace KIO 0024 { 0025 class Job; 0026 class FileJob; 0027 } 0028 0029 class KJob; 0030 0031 class JobRemoteTest : public QObject 0032 { 0033 Q_OBJECT 0034 0035 public: 0036 JobRemoteTest() 0037 { 0038 } 0039 0040 private Q_SLOTS: 0041 void initTestCase(); 0042 void cleanupTestCase(); 0043 0044 // Remote tests 0045 void putAndGet(); 0046 void openFileWriting(); 0047 void openFileReading(); 0048 void openFileRead0Bytes(); 0049 void openFileTruncating(); 0050 0051 // void calculateRemainingSeconds(); 0052 0053 Q_SIGNALS: 0054 void exitLoop(); 0055 0056 protected Q_SLOTS: 0057 // void slotEntries( KIO::Job*, const KIO::UDSEntryList& lst ); 0058 void slotGetResult(KJob *); 0059 void slotDataReq(KIO::Job *, QByteArray &); 0060 void slotResult(KJob *); 0061 void slotMimetype(KIO::Job *, const QString &); 0062 0063 void slotFileJobData(KIO::Job *job, const QByteArray &data); 0064 void slotFileJobRedirection(KIO::Job *job, const QUrl &url); 0065 void slotFileJobMimetype(KIO::Job *job, const QString &type); 0066 void slotFileJobOpen(KIO::Job *job); 0067 void slotFileJobWritten(KIO::Job *job, KIO::filesize_t written); 0068 void slotFileJobPosition(KIO::Job *job, KIO::filesize_t offset); 0069 void slotFileJobClose(KIO::Job *job); 0070 0071 void slotFileJob2Data(KIO::Job *job, const QByteArray &data); 0072 void slotFileJob2Redirection(KIO::Job *job, const QUrl &url); 0073 void slotFileJob2Mimetype(KIO::Job *job, const QString &type); 0074 void slotFileJob2Open(KIO::Job *job); 0075 void slotFileJob2Written(KIO::Job *job, KIO::filesize_t written); 0076 void slotFileJob2Position(KIO::Job *job, KIO::filesize_t offset); 0077 0078 void slotFileJob3Open(KIO::Job *job); 0079 void slotFileJob3Position(KIO::Job *job, KIO::filesize_t offset); 0080 void slotFileJob3Data(KIO::Job *job, const QByteArray &data); 0081 0082 void slotFileJob4Open(KIO::Job *job); 0083 void slotFileJob4Truncated(KIO::Job *job, KIO::filesize_t length); 0084 0085 private: 0086 void enterLoop(); 0087 enum { AlreadyExists = 1 }; 0088 0089 int m_result; 0090 bool m_closeSignalCalled; 0091 QFile m_truncatedFile; 0092 QByteArray m_data; 0093 QStringList m_names; 0094 int m_dataReqCount; 0095 QString m_mimetype; 0096 0097 // openReadWrite test 0098 KIO::FileJob *fileJob; 0099 int m_rwCount; 0100 }; 0101 0102 #endif