File indexing completed on 2024-05-19 04:59:16
0001 /* ============================================================ 0002 * GreaseMonkey plugin for Falkon 0003 * Copyright (C) 2012-2017 David Rosca <nowrep@gmail.com> 0004 * 0005 * This program is free software: you can redistribute it and/or modify 0006 * it under the terms of the GNU General Public License as published by 0007 * the Free Software Foundation, either version 3 of the License, or 0008 * (at your option) any later version. 0009 * 0010 * This program is distributed in the hope that it will be useful, 0011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 0012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 0013 * GNU General Public License for more details. 0014 * 0015 * You should have received a copy of the GNU General Public License 0016 * along with this program. If not, see <http://www.gnu.org/licenses/>. 0017 * ============================================================ */ 0018 #ifndef GM_DOWNLOADER_H 0019 #define GM_DOWNLOADER_H 0020 0021 #include <QObject> 0022 #include <QList> 0023 #include <QUrl> 0024 0025 class QNetworkReply; 0026 0027 class GM_Manager; 0028 0029 class GM_Downloader : public QObject 0030 { 0031 Q_OBJECT 0032 public: 0033 enum Mode { 0034 DownloadMainScript, 0035 DownloadRequireScript 0036 }; 0037 0038 explicit GM_Downloader(const QUrl &url, GM_Manager *manager, Mode mode = DownloadMainScript); 0039 0040 void updateScript(const QString& fileName); 0041 0042 Q_SIGNALS: 0043 void finished(const QString& fileName); 0044 void error(); 0045 0046 private Q_SLOTS: 0047 void scriptDownloaded(); 0048 void requireDownloaded(); 0049 0050 private: 0051 void downloadRequires(); 0052 0053 GM_Manager* m_manager; 0054 QNetworkReply *m_reply; 0055 QString m_fileName; 0056 }; 0057 0058 #endif // GM_DOWNLOADER_H