diff options
author | Kitsune Ral <Kitsune-Ral@users.sf.net> | 2017-10-02 12:16:36 +0900 |
---|---|---|
committer | Kitsune Ral <Kitsune-Ral@users.sf.net> | 2017-10-13 10:37:16 +0200 |
commit | b2a017303a34e248873b2e47e560a41dc4c5111c (patch) | |
tree | 2745b5d555b7689a448b6800503f6ff3f8201265 /jobs/sendeventjob.cpp | |
parent | c9dc5e12b835425f1ba5c447ddb3c3394ccac93e (diff) | |
download | libquotient-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.cpp | 12 |
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(); |