From 04fec063699f742fcd2ea552ef8c77fb402ce870 Mon Sep 17 00:00:00 2001 From: Niklas Date: Wed, 9 Nov 2011 15:27:51 +0100 Subject: some documentation changes (adding comments) and doxygen files) --- doxygen/html/downloadmanager_8h_source.html | 194 ++++++++++++++++++++++++++++ 1 file changed, 194 insertions(+) create mode 100644 doxygen/html/downloadmanager_8h_source.html (limited to 'doxygen/html/downloadmanager_8h_source.html') diff --git a/doxygen/html/downloadmanager_8h_source.html b/doxygen/html/downloadmanager_8h_source.html new file mode 100644 index 0000000..fa08a68 --- /dev/null +++ b/doxygen/html/downloadmanager_8h_source.html @@ -0,0 +1,194 @@ + + +
+ +|
+ ndgui/NetworkDiscovery
+ |
+
00001 /* +00002 * Copyright (c) 2010,2011 - RZ Uni Freiburg +00003 * Copyright (c) 2010,2011 - OpenSLX Project +00004 * +00005 * This program/file is free software distributed under the GPL version 2. +00006 * See http://openslx.org/COPYING +00007 * +00008 * If you have any feedback please consult http://openslx.org/feedback and +00009 * send your feedback to feedback@openslx.org +00010 * +00011 * General information about OpenSLX can be found under http://openslx.org +00012 * +00013 * +00014 * Class managing download requests: +00015 * - provides queueing functionality +00016 * - static info: filename, filesize +00017 * - dynamic info: download progress, current speed +00018 * +00019 */ +00020 +00021 #ifndef DOWNLOADMANAGER_H +00022 #define DOWNLOADMANAGER_H +00023 +00024 #include "fbgui.h" +00025 +00026 extern bool debug; +00027 extern QUrl baseURL; +00028 extern QString binPath; +00029 extern QString downloadPath; +00030 extern int updateInterval; +00031 +00032 class DownloadManager: public QObject { +00033 Q_OBJECT +00034 +00035 public: +00036 DownloadManager(); +00037 ~DownloadManager(); +00038 QTime time; +00039 +00040 private: +00041 // checks for valid download directory, ran once in constructor +00042 void checkDownloadDirectory(); +00043 // private control function for queueing mechanism. +00044 void processDownloadRequest(const QUrl& url); +00045 +00046 // base objects for downloading +00047 QNetworkAccessManager* _qnam; +00048 QQueue<QUrl> _downloadQueue; +00049 QNetworkReply* _currentDownload; +00050 QFile _outfile; +00051 QDir _downloadDir; +00052 // download progress variables +00053 int _currentProgress, _lastProgress; +00054 // download in progress flag +00055 bool _dip; +00056 // static counter +00057 static int _downloaded; +00058 +00059 signals: +00060 // notify sends a message to the javascript interface to be evaluated there +00061 void notify(const QString& msg); +00062 // downloadInfo sends static information (name, size) to the interface. +00063 void downloadInfo(const QString& filename, const double& filesize); +00064 // updateProgress sends download progress information to the interface. +00065 void updateProgress(const int& percent, const double& speed, const QString& unit); +00066 // signal emitted when download queue is empty. +00067 void downloadQueueEmpty(); +00068 +00069 public slots: +00070 // public slots to receive download requests. +00071 void downloadFile(const QUrl& fileUrl); +00072 // convenience function +00073 void downloadFile(const QString& fileUrl); +00074 +00075 private slots: +00076 // private slots to manage the downloading process +00077 void startNextDownload(); +00078 void processMetaInfo(); +00079 void downloadReady(); +00080 void downloadProgress(qint64 bytesIn, qint64 bytesTotal); +00081 void downloadFinished(); +00082 }; +00083 +00084 #endif // DOWNLOADMANAGER_H +