aboutsummaryrefslogtreecommitdiff
path: root/jobs/sendeventjob.cpp
diff options
context:
space:
mode:
authorKitsune Ral <Kitsune-Ral@users.sf.net>2017-10-02 12:16:36 +0900
committerKitsune Ral <Kitsune-Ral@users.sf.net>2017-10-13 10:37:16 +0200
commitb2a017303a34e248873b2e47e560a41dc4c5111c (patch)
tree2745b5d555b7689a448b6800503f6ff3f8201265 /jobs/sendeventjob.cpp
parentc9dc5e12b835425f1ba5c447ddb3c3394ccac93e (diff)
downloadlibquotient-b2a017303a34e248873b2e47e560a41dc4c5111c.tar.gz
libquotient-b2a017303a34e248873b2e47e560a41dc4c5111c.zip
All jobs: Drop ConnectionData parameter from the constructor
Having to pass ConnectionData to each and every job class was nothing but boilerplate since the very beginning. Removing it required to prepend BaseJob::start() with ConnectionData-setting code, and to provide a way to alter the request configuration depending on the (late-coming) ConnectionData object. This is a new responsibility of BaseJob::start(); the previous BaseJob::start() contents have moved to BaseJob::sendRequest() (which is now invoked on retries, instead of start()).
Diffstat (limited to 'jobs/sendeventjob.cpp')
-rw-r--r--jobs/sendeventjob.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/jobs/sendeventjob.cpp b/jobs/sendeventjob.cpp
index f3c95fe8..7e33e089 100644
--- a/jobs/sendeventjob.cpp
+++ b/jobs/sendeventjob.cpp
@@ -22,13 +22,17 @@
using namespace QMatrixClient;
-SendEventJob::SendEventJob(const ConnectionData* connection,
- const QString& roomId, const QString& type,
+SendEventJob::SendEventJob(const QString& roomId, const QString& type,
const QString& plainText)
- : SendEventJob(connection, roomId,
- new RoomMessageEvent(plainText, type))
+ : SendEventJob(roomId, new RoomMessageEvent(plainText, type))
{ }
+void SendEventJob::beforeStart(const ConnectionData* connData)
+{
+ BaseJob::beforeStart(connData);
+ setApiEndpoint(apiEndpoint() + connData->generateTxnId());
+}
+
BaseJob::Status SendEventJob::parseJson(const QJsonDocument& data)
{
_eventId = data.object().value("event_id").toString();