2007-07-26 21:06:09 +00:00
|
|
|
/***************************************************************************
|
|
|
|
* __________ __ ___.
|
|
|
|
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
|
|
|
|
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
|
|
|
|
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
|
|
|
|
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
|
|
|
|
* \/ \/ \/ \/ \/
|
|
|
|
*
|
2007-07-27 17:42:49 +00:00
|
|
|
* Copyright (C) 2007 by Dominik Wenger
|
2007-08-23 22:11:50 +00:00
|
|
|
* $Id$
|
2007-07-26 21:06:09 +00:00
|
|
|
*
|
|
|
|
* All files in this archive are subject to the GNU General Public License.
|
|
|
|
* See the file COPYING in the source tree root for full license agreement.
|
|
|
|
*
|
|
|
|
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
|
|
|
* KIND, either express or implied.
|
|
|
|
*
|
2007-07-26 21:16:42 +00:00
|
|
|
****************************************************************************/
|
2007-09-15 22:57:07 +00:00
|
|
|
|
|
|
|
|
2007-08-10 22:17:43 +00:00
|
|
|
#ifndef INSTALLZIP_H
|
|
|
|
#define INSTALLZIP_H
|
2007-09-15 22:57:07 +00:00
|
|
|
|
2007-07-26 21:16:42 +00:00
|
|
|
|
|
|
|
|
2008-02-10 18:25:49 +00:00
|
|
|
#include <QtCore>
|
2007-07-26 21:16:42 +00:00
|
|
|
#include <QtNetwork>
|
|
|
|
|
2007-07-29 18:07:31 +00:00
|
|
|
#include "progressloggerinterface.h"
|
2007-07-26 21:16:42 +00:00
|
|
|
#include "httpget.h"
|
2007-09-15 22:57:07 +00:00
|
|
|
|
2007-07-27 17:42:49 +00:00
|
|
|
class ZipInstaller : public QObject
|
2007-09-15 22:57:07 +00:00
|
|
|
{
|
2007-07-26 21:16:42 +00:00
|
|
|
Q_OBJECT
|
|
|
|
public:
|
2007-07-27 17:42:49 +00:00
|
|
|
ZipInstaller(QObject* parent) ;
|
|
|
|
~ZipInstaller(){}
|
2007-07-29 18:07:31 +00:00
|
|
|
void install(ProgressloggerInterface* dp);
|
2007-07-27 17:42:49 +00:00
|
|
|
void setMountPoint(QString mountpoint) {m_mountpoint = mountpoint;}
|
2007-08-14 23:11:46 +00:00
|
|
|
void setUrl(QString url){m_urllist = QStringList(url);}
|
|
|
|
void setUrl(QStringList url) { m_urllist = url; }
|
|
|
|
void setLogSection(QString name) {m_loglist = QStringList(name);}
|
|
|
|
void setLogSection(QStringList name) { m_loglist = name; }
|
2007-08-26 16:03:56 +00:00
|
|
|
void setLogVersion(QString v) { m_verlist = QStringList(v); qDebug() << m_verlist;}
|
|
|
|
void setLogVersion(QStringList v) { m_verlist = v; qDebug() << m_verlist;}
|
2007-08-09 16:06:27 +00:00
|
|
|
void setUnzip(bool i) { m_unzip = i; }
|
|
|
|
void setTarget(QString t) { m_target = t; }
|
2008-05-11 20:25:35 +00:00
|
|
|
void setCache(QDir c) { m_cache = c; m_usecache = true; };
|
2008-03-05 21:12:24 +00:00
|
|
|
void setCache(bool c) { m_usecache = c; };
|
2008-05-11 20:25:35 +00:00
|
|
|
void setCache(QString c) { m_cache = QDir(c); m_usecache = true; }
|
2007-09-15 22:57:07 +00:00
|
|
|
|
2007-07-26 21:16:42 +00:00
|
|
|
signals:
|
|
|
|
void done(bool error);
|
2007-08-14 23:11:46 +00:00
|
|
|
void cont();
|
2007-09-15 22:57:07 +00:00
|
|
|
|
2007-07-26 21:16:42 +00:00
|
|
|
private slots:
|
2007-07-26 21:06:09 +00:00
|
|
|
void updateDataReadProgress(int, int);
|
|
|
|
void downloadDone(bool);
|
2007-08-14 23:11:46 +00:00
|
|
|
void installStart(void);
|
|
|
|
void installContinue(void);
|
2007-07-26 21:16:42 +00:00
|
|
|
|
2007-08-09 16:06:27 +00:00
|
|
|
private:
|
2007-08-14 23:11:46 +00:00
|
|
|
void installSingle(ProgressloggerInterface *dp);
|
2007-08-26 16:03:56 +00:00
|
|
|
QString m_url, m_file, m_mountpoint, m_logsection, m_logver;
|
|
|
|
QStringList m_urllist, m_loglist, m_verlist;
|
2007-08-09 16:06:27 +00:00
|
|
|
bool m_unzip;
|
|
|
|
QString m_target;
|
2007-08-14 23:11:46 +00:00
|
|
|
int runner;
|
2007-08-27 17:40:35 +00:00
|
|
|
QDir m_cache;
|
2008-03-05 21:12:24 +00:00
|
|
|
bool m_usecache;
|
2007-09-15 22:57:07 +00:00
|
|
|
|
2007-07-26 21:16:42 +00:00
|
|
|
HttpGet *getter;
|
2007-08-14 23:11:46 +00:00
|
|
|
QTemporaryFile *downloadFile;
|
2007-09-15 22:57:07 +00:00
|
|
|
|
2007-07-29 18:07:31 +00:00
|
|
|
ProgressloggerInterface* m_dp;
|
2007-07-26 21:16:42 +00:00
|
|
|
};
|
2007-09-15 22:57:07 +00:00
|
|
|
|
|
|
|
|
2007-07-26 21:16:42 +00:00
|
|
|
|
|
|
|
#endif
|
|
|
|
|