Marble::DownloadQueueSet
#include <DownloadQueueSet.h>
Signals | |
void | jobAdded () |
void | jobFinished (const QByteArray &data, const QString &destinationFileName, const QString &id) |
void | jobRedirected (const QUrl &newSourceUrl, const QString &destinationFileName, const QString &id, DownloadUsage) |
void | jobRemoved () |
void | jobRetry () |
void | progressChanged (int active, int queued) |
Public Member Functions | |
DownloadQueueSet (const DownloadPolicy &policy, QObject *const parent=nullptr) | |
DownloadQueueSet (QObject *const parent=nullptr) | |
void | activateJobs () |
void | addJob (HttpJob *const job) |
bool | canAcceptJob (const QUrl &sourceUrl, const QString &destinationFileName) const |
DownloadPolicy | downloadPolicy () const |
void | purgeJobs () |
void | retryJobs () |
void | setDownloadPolicy (const DownloadPolicy &) |
Public Member Functions inherited from QObject | |
QObject (QObject *parent) | |
QBindable< QString > | bindableObjectName () |
bool | blockSignals (bool block) |
const QObjectList & | children () const const |
QMetaObject::Connection | connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const |
void | deleteLater () |
void | destroyed (QObject *obj) |
bool | disconnect (const char *signal, const QObject *receiver, const char *method) const const |
bool | disconnect (const QObject *receiver, const char *method) const const |
void | dumpObjectInfo () const const |
void | dumpObjectTree () const const |
QList< QByteArray > | dynamicPropertyNames () const const |
virtual bool | event (QEvent *e) |
virtual bool | eventFilter (QObject *watched, QEvent *event) |
T | findChild (const QString &name, Qt::FindChildOptions options) const const |
QList< T > | findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const |
QList< T > | findChildren (const QString &name, Qt::FindChildOptions options) const const |
QList< T > | findChildren (Qt::FindChildOptions options) const const |
bool | inherits (const char *className) const const |
void | installEventFilter (QObject *filterObj) |
bool | isQuickItemType () const const |
bool | isWidgetType () const const |
bool | isWindowType () const const |
void | killTimer (int id) |
virtual const QMetaObject * | metaObject () const const |
void | moveToThread (QThread *targetThread) |
QString | objectName () const const |
void | objectNameChanged (const QString &objectName) |
QObject * | parent () const const |
QVariant | property (const char *name) const const |
Q_CLASSINFO (Name, Value) | |
Q_EMIT Q_EMIT | |
Q_ENUM (...) | |
Q_ENUM_NS (...) | |
Q_ENUMS (...) | |
Q_FLAG (...) | |
Q_FLAG_NS (...) | |
Q_FLAGS (...) | |
Q_GADGET Q_GADGET | |
Q_GADGET_EXPORT (EXPORT_MACRO) | |
Q_INTERFACES (...) | |
Q_INVOKABLE Q_INVOKABLE | |
Q_MOC_INCLUDE Q_MOC_INCLUDE | |
Q_NAMESPACE Q_NAMESPACE | |
Q_NAMESPACE_EXPORT (EXPORT_MACRO) | |
Q_OBJECT Q_OBJECT | |
Q_PROPERTY (...) | |
Q_REVISION Q_REVISION | |
Q_SET_OBJECT_NAME (Object) | |
Q_SIGNAL Q_SIGNAL | |
Q_SIGNALS Q_SIGNALS | |
Q_SLOT Q_SLOT | |
Q_SLOTS Q_SLOTS | |
T | qobject_cast (const QObject *object) |
T | qobject_cast (QObject *object) |
QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT | |
void | removeEventFilter (QObject *obj) |
void | setObjectName (const QString &name) |
void | setObjectName (QAnyStringView name) |
void | setParent (QObject *parent) |
bool | setProperty (const char *name, const QVariant &value) |
bool | setProperty (const char *name, QVariant &&value) |
bool | signalsBlocked () const const |
int | startTimer (int interval, Qt::TimerType timerType) |
int | startTimer (std::chrono::milliseconds interval, Qt::TimerType timerType) |
QThread * | thread () const const |
Additional Inherited Members | |
Public Types inherited from QObject | |
typedef | QObjectList |
Properties inherited from QObject | |
objectName | |
Static Public Member Functions inherited from QObject | |
QMetaObject::Connection | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type) |
QMetaObject::Connection | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type) |
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type) |
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type) |
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, Functor functor) |
bool | disconnect (const QMetaObject::Connection &connection) |
bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method) |
bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method) |
bool | disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method) |
QString | tr (const char *sourceText, const char *disambiguation, int n) |
Protected Member Functions inherited from QObject | |
virtual void | childEvent (QChildEvent *event) |
virtual void | connectNotify (const QMetaMethod &signal) |
virtual void | customEvent (QEvent *event) |
virtual void | disconnectNotify (const QMetaMethod &signal) |
bool | isSignalConnected (const QMetaMethod &signal) const const |
int | receivers (const char *signal) const const |
QObject * | sender () const const |
int | senderSignalIndex () const const |
virtual void | timerEvent (QTimerEvent *event) |
Detailed Description
Life of a HttpJob
- Job is added to the QueueSet (by calling addJob() ) the HttpJob is put into the m_jobQueue where it waits for "activation" signal jobAdded is emitted
- Job is activated Job is moved from m_jobQueue to m_activeJobs and signals of the job are connected to slots (local or HttpDownloadManager) Job is executed by calling the jobs execute() method
now there are different possibilities: 1) Job emits jobDone (some error occurred, or canceled (kio)) Job is disconnected signal jobRemoved is emitted Job is either moved from m_activeJobs to m_retryQueue or destroyed and blacklisted
2) Job emits redirected Job is removed from m_activeJobs, disconnected and destroyed signal jobRemoved is emitted (HttpDownloadManager creates new Job with new source url)
3) Job emits dataReceived Job is removed from m_activeJobs, disconnected and destroyed signal jobRemoved is emitted
so we can conclude following rules:
- Job is only connected to signals when in "active" state
questions:
- update of initiatorId needed? "We update the initiatorId as the previous initiator likely doesn't exist anymore"
- blacklist or black list?
Definition at line 62 of file DownloadQueueSet.h.
Constructor & Destructor Documentation
◆ DownloadQueueSet() [1/2]
|
explicit |
Definition at line 14 of file DownloadQueueSet.cpp.
◆ DownloadQueueSet() [2/2]
|
explicit |
Definition at line 19 of file DownloadQueueSet.cpp.
◆ ~DownloadQueueSet()
|
override |
Definition at line 25 of file DownloadQueueSet.cpp.
Member Function Documentation
◆ activateJobs()
void Marble::DownloadQueueSet::activateJobs | ( | ) |
Definition at line 70 of file DownloadQueueSet.cpp.
◆ addJob()
void Marble::DownloadQueueSet::addJob | ( | HttpJob *const | job | ) |
Definition at line 61 of file DownloadQueueSet.cpp.
◆ canAcceptJob()
bool Marble::DownloadQueueSet::canAcceptJob | ( | const QUrl & | sourceUrl, |
const QString & | destinationFileName ) const |
Definition at line 40 of file DownloadQueueSet.cpp.
◆ downloadPolicy()
DownloadPolicy Marble::DownloadQueueSet::downloadPolicy | ( | ) | const |
Definition at line 30 of file DownloadQueueSet.cpp.
◆ purgeJobs()
void Marble::DownloadQueueSet::purgeJobs | ( | ) |
Definition at line 88 of file DownloadQueueSet.cpp.
◆ retryJobs()
void Marble::DownloadQueueSet::retryJobs | ( | ) |
Definition at line 78 of file DownloadQueueSet.cpp.
◆ setDownloadPolicy()
void Marble::DownloadQueueSet::setDownloadPolicy | ( | const DownloadPolicy & | policy | ) |
Definition at line 35 of file DownloadQueueSet.cpp.
The documentation for this class was generated from the following files:
Documentation copyright © 1996-2024 The KDE developers.
Generated on Fri Nov 8 2024 12:02:44 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.