1
0
mirror of https://github.com/laurent22/joplin.git synced 2025-07-16 00:14:34 +02:00

Handle sync and api state before and after login/logout

This commit is contained in:
Laurent Cozic
2017-01-11 11:14:57 +01:00
parent 5c7581ae1d
commit a1bffbb5e5
17 changed files with 185 additions and 11 deletions

View File

@ -30,6 +30,7 @@ void WebApi::execRequest(HttpMethod method, const QString &path, const QUrlQuery
r.data = data;
r.tag = tag;
r.buffer = NULL;
r.reply = NULL;
queuedRequests_ << r;
processQueue();
@ -45,6 +46,25 @@ void WebApi::setSessionId(const QString &v) {
sessionId_ = v;
}
void WebApi::abortAll() {
for (int i = 0; i < inProgressRequests_.size(); i++) {
QueuedRequest r = inProgressRequests_[i];
if (r.reply) {
r.reply->abort();
// TODO: Delete r.reply?
}
}
for (int i = 0; i < queuedRequests_.size(); i++) {
QueuedRequest r = queuedRequests_[i];
if (r.reply) {
r.reply->abort();
// TODO: Delete r.reply?
}
}
queuedRequests_.size();
}
void WebApi::processQueue() {
if (!queuedRequests_.size() || inProgressRequests_.size() >= 50) return;
QueuedRequest r = queuedRequests_.takeFirst();