Marble::DownloadQueueSet

Search for usage in LXR

Marble::DownloadQueueSet Class Reference

#include <DownloadQueueSet.h>

Inheritance diagram for Marble::DownloadQueueSet:

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< QStringbindableObjectName ()
 
bool blockSignals (bool block)
 
const QObjectListchildren () 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< QByteArraydynamicPropertyNames () const const
 
virtual bool event (QEvent *e)
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 
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 QMetaObjectmetaObject () const const
 
void moveToThread (QThread *targetThread)
 
QString objectName () const const
 
void objectNameChanged (const QString &objectName)
 
QObjectparent () 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
 
qobject_cast (const QObject *object)
 
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)
 
QThreadthread () const const
 

Additional Inherited Members

- 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)
 
- Public Attributes inherited from QObject
typedef QObjectList
 
- 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
 
QObjectsender () 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]

Marble::DownloadQueueSet::DownloadQueueSet ( QObject *const parent = nullptr)
explicit

Definition at line 14 of file DownloadQueueSet.cpp.

◆ DownloadQueueSet() [2/2]

Marble::DownloadQueueSet::DownloadQueueSet ( const DownloadPolicy & policy,
QObject *const parent = nullptr )
explicit

Definition at line 19 of file DownloadQueueSet.cpp.

◆ ~DownloadQueueSet()

Marble::DownloadQueueSet::~DownloadQueueSet ( )
override

Definition at line 25 of file DownloadQueueSet.cpp.

Member Function Documentation

◆ activateJobs()

void Marble::DownloadQueueSet::activateJobs ( )

Definition at line 74 of file DownloadQueueSet.cpp.

◆ addJob()

void Marble::DownloadQueueSet::addJob ( HttpJob *const job)

Definition at line 65 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 94 of file DownloadQueueSet.cpp.

◆ retryJobs()

void Marble::DownloadQueueSet::retryJobs ( )

Definition at line 84 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:
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Tue Mar 26 2024 11:18:18 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.