3
* VBox frontends: Qt GUI ("VirtualBox"):
4
* VBoxDownloaderWgt class declaration
8
* Copyright (C) 2006-2007 Sun Microsystems, Inc.
10
* This file is part of VirtualBox Open Source Edition (OSE), as
11
* available from http://www.virtualbox.org. This file is free software;
12
* you can redistribute it and/or modify it under the terms of the GNU
13
* General Public License (GPL) as published by the Free Software
14
* Foundation, in version 2 as it comes in the "COPYING" file of the
15
* VirtualBox OSE distribution. VirtualBox OSE is distributed in the
16
* hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
18
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
19
* Clara, CA 95054 USA or visit http://www.sun.com if you need
20
* additional information or have any questions.
23
#ifndef __VBoxDownloaderWgt_h__
24
#define __VBoxDownloaderWgt_h__
26
#include "QIWithRetranslateUI.h"
33
class QHttpResponseHeader;
38
* The VBoxDownloaderWgt class is QWidget class re-implementation which embeds
39
* into the Dialog's status-bar and allows background http downloading.
40
* This class is not supposed to be used itself and made for sub-classing only.
42
* This class has two parts:
43
* 1. Acknowledging (getting information about target presence and size).
44
* 2. Downloading (starting and handling file downloading process).
45
* Every subclass can determine using or not those two parts and handling
46
* the result of those parts itself.
48
class VBoxDownloaderWgt : public QIWithRetranslateUI <QWidget>
54
VBoxDownloaderWgt (const QString &aSource, const QString &aTarget);
60
/* Acknowledging part */
61
virtual void acknowledgeStart();
62
virtual void acknowledgeProcess (const QHttpResponseHeader &aResponse);
63
virtual void acknowledgeFinished (bool aError);
65
/* Downloading part */
66
virtual void downloadStart();
67
virtual void downloadProcess (int aDone, int aTotal);
68
virtual void downloadFinished (bool aError);
71
virtual void cancelDownloading();
72
virtual void abortDownload (const QString &aError);
73
virtual void suicide();
77
/* In sub-class this function will show the user downloading object size
78
* and ask him about downloading confirmation. Returns user response. */
79
virtual bool confirmDownload() = 0;
81
/* In sub-class this function will show the user which error happens
82
* in context of downloading file and executing his request. */
83
virtual void warnAboutError (const QString &aError) = 0;
88
QProgressBar *mProgressBar;
89
QToolButton *mCancelButton;
92
#endif // __VBoxDownloaderWgt_h__