aboutsummaryrefslogtreecommitdiff
path: root/jobs/syncjob.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'jobs/syncjob.cpp')
-rw-r--r--jobs/syncjob.cpp66
1 files changed, 14 insertions, 52 deletions
diff --git a/jobs/syncjob.cpp b/jobs/syncjob.cpp
index 59c40785..521f829e 100644
--- a/jobs/syncjob.cpp
+++ b/jobs/syncjob.cpp
@@ -32,25 +32,28 @@ using namespace QMatrixClient;
class SyncJob::Private
{
public:
- QString since;
- QString filter;
- bool fullState;
- QString presence;
- int timeout;
QString nextBatch;
-
SyncData roomData;
};
static size_t jobId = 0;
-SyncJob::SyncJob(ConnectionData* connection, QString since)
- : BaseJob(connection, JobHttpType::GetJob, QString("SyncJob-%1").arg(++jobId))
+SyncJob::SyncJob(ConnectionData* connection,
+ QString since, QString filter, int timeout, QString presence)
+ : BaseJob(connection, JobHttpType::GetJob, QString("SyncJob-%1").arg(++jobId),
+ "_matrix/client/r0/sync")
, d(new Private)
{
- d->since = since;
- d->fullState = false;
- d->timeout = -1;
+ QUrlQuery query;
+ if( !filter.isEmpty() )
+ query.addQueryItem("filter", filter);
+ if( !presence.isEmpty() )
+ query.addQueryItem("set_presence", presence);
+ if( timeout >= 0 )
+ query.addQueryItem("timeout", QString::number(timeout));
+ if( !since.isEmpty() )
+ query.addQueryItem("since", since);
+ setRequestQuery(query);
}
SyncJob::~SyncJob()
@@ -58,26 +61,6 @@ SyncJob::~SyncJob()
delete d;
}
-void SyncJob::setFilter(QString filter)
-{
- d->filter = filter;
-}
-
-void SyncJob::setFullState(bool full)
-{
- d->fullState = full;
-}
-
-void SyncJob::setPresence(QString presence)
-{
- d->presence = presence;
-}
-
-void SyncJob::setTimeout(int timeout)
-{
- d->timeout = timeout;
-}
-
QString SyncJob::nextBatch() const
{
return d->nextBatch;
@@ -88,27 +71,6 @@ SyncData& SyncJob::roomData()
return d->roomData;
}
-QString SyncJob::apiPath() const
-{
- return "_matrix/client/r0/sync";
-}
-
-QUrlQuery SyncJob::query() const
-{
- QUrlQuery query;
- if( !d->filter.isEmpty() )
- query.addQueryItem("filter", d->filter);
- if( d->fullState )
- query.addQueryItem("full_state", "true");
- if( !d->presence.isEmpty() )
- query.addQueryItem("set_presence", d->presence);
- if( d->timeout >= 0 )
- query.addQueryItem("timeout", QString::number(d->timeout));
- if( !d->since.isEmpty() )
- query.addQueryItem("since", d->since);
- return query;
-}
-
BaseJob::Status SyncJob::parseJson(const QJsonDocument& data)
{
QJsonObject json = data.object();