diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/libsync/account.cpp | 1 | ||||
-rw-r--r-- | src/libsync/jobqueue.cpp | 10 | ||||
-rw-r--r-- | src/libsync/jobqueue.h | 7 |
3 files changed, 14 insertions, 4 deletions
diff --git a/src/libsync/account.cpp b/src/libsync/account.cpp index 2b4b81a10..12260fbc8 100644 --- a/src/libsync/account.cpp +++ b/src/libsync/account.cpp @@ -42,6 +42,7 @@ Account::Account(QObject *parent) : QObject(parent) , _capabilities(QVariantMap()) , _davPath(Theme::instance()->webDavPath()) + , _jobQueue(this) { qRegisterMetaType<AccountPtr>("AccountPtr"); } diff --git a/src/libsync/jobqueue.cpp b/src/libsync/jobqueue.cpp index 970fe3abb..97a14b9c4 100644 --- a/src/libsync/jobqueue.cpp +++ b/src/libsync/jobqueue.cpp @@ -15,6 +15,7 @@ #include "jobqueue.h" #include "abstractnetworkjob.h" +#include "account.h" #include <QLoggingCategory> @@ -27,6 +28,11 @@ namespace OCC { Q_LOGGING_CATEGORY(lcJobQUeue, "sync.networkjob.jobqueue", QtDebugMsg) +JobQueue::JobQueue(Account *account) + : _account(account) +{ +} + void JobQueue::setBlocked(bool block) { if (block) { @@ -34,7 +40,7 @@ void JobQueue::setBlocked(bool block) } else if (_blocked > 0) { _blocked--; } - qCDebug(lcJobQUeue) << "Set blocked:" << block << _blocked; + qCDebug(lcJobQUeue) << "Set blocked:" << block << _blocked << _account->displayName(); if (_blocked == 0) { auto tmp = std::move(_jobs); for (auto job : tmp) { @@ -78,7 +84,7 @@ bool JobQueue::enqueue(AbstractNetworkJob *job) void JobQueue::clear() { - _blocked = false; + _blocked = 0; auto tmp = std::move(_jobs); for (auto job : tmp) { if (job) { diff --git a/src/libsync/jobqueue.h b/src/libsync/jobqueue.h index 4cc6a788a..a01738697 100644 --- a/src/libsync/jobqueue.h +++ b/src/libsync/jobqueue.h @@ -15,16 +15,18 @@ #include "owncloudlib.h" -#include <QObject> +#include <QPointer> +#include <vector> namespace OCC { class AbstractNetworkJob; +class Account; class OWNCLOUDSYNC_EXPORT JobQueue { public: - JobQueue() = default; + JobQueue(Account *account); /** * Set whether jobs need to be enqued @@ -54,6 +56,7 @@ public: private: bool needsRetry(AbstractNetworkJob *job) const; + Account *_account; int _blocked = 0; std::vector<QPointer<AbstractNetworkJob>> _jobs; }; |