File indexing completed on 2023-05-30 09:06:29
0001 // SPDX-License-Identifier: LGPL-2.1-or-later 0002 // 0003 // SPDX-FileCopyrightText: 2011 Dennis Nienhüser <nienhueser@kde.org> 0004 // 0005 0006 #ifndef UPLOAD_H 0007 #define UPLOAD_H 0008 0009 #include "region.h" 0010 #include "jobparameters.h" 0011 0012 #include <QObject> 0013 #include <QList> 0014 #include <QFileInfo> 0015 #include <QDomDocument> 0016 0017 class Upload : public QObject 0018 { 0019 Q_OBJECT 0020 0021 Q_PROPERTY(bool uploadFiles READ uploadFiles WRITE setUploadFiles) 0022 0023 public: 0024 static Upload& instance(); 0025 0026 void uploadAndDelete(const Region ®ion, const QFileInfo &file, const QString &transport); 0027 0028 bool uploadFiles() const; 0029 0030 void setJobParameters(const JobParameters ¶meters); 0031 0032 void setUploadFiles(bool arg); 0033 0034 private: 0035 struct Package { 0036 Region region; 0037 QFileInfo file; 0038 QString transport; 0039 0040 bool operator==(const Package &other) const; 0041 }; 0042 0043 explicit Upload(QObject *parent = nullptr); 0044 0045 void changeStatus( const Package &package, const QString &status, const QString &message ); 0046 0047 void processQueue(); 0048 0049 bool upload(const Package &package); 0050 0051 void deleteFile(const QFileInfo &file); 0052 0053 bool adjustNewstuffFile(const Package &package); 0054 0055 bool uploadNewstuff(); 0056 0057 bool deleteRemoteFile(const QString &filename); 0058 0059 QString targetDir() const; 0060 0061 QString releaseDate() const; 0062 0063 QList<Package> m_queue; 0064 bool m_uploadFiles; 0065 QDomDocument m_xml; 0066 JobParameters m_jobParameters; 0067 }; 0068 0069 #endif // UPLOAD_H