aboutsummaryrefslogtreecommitdiff
path: root/jobs/basejob.h
diff options
context:
space:
mode:
authorKitsune Ral <Kitsune-Ral@users.sf.net>2017-05-17 11:13:56 +0900
committerGitHub <noreply@github.com>2017-05-17 11:13:56 +0900
commiteabb31a04889a8c8e9825f3d0024c1e8aa2cea54 (patch)
treeb9b46139d636d3599662842ee613476543953e81 /jobs/basejob.h
parentb459f1b3e5355b30a51e9d12a35d8aee6a842886 (diff)
parentc25de4e19801c7931ce857c29a7a48be7f5c4dbe (diff)
downloadlibquotient-eabb31a04889a8c8e9825f3d0024c1e8aa2cea54.tar.gz
libquotient-eabb31a04889a8c8e9825f3d0024c1e8aa2cea54.zip
Merge pull request #62 from Fxrh/kitsune-refactoring
Code tweaks and cleanup
Diffstat (limited to 'jobs/basejob.h')
-rw-r--r--jobs/basejob.h21
1 files changed, 15 insertions, 6 deletions
diff --git a/jobs/basejob.h b/jobs/basejob.h
index ed35e3e8..2be4577f 100644
--- a/jobs/basejob.h
+++ b/jobs/basejob.h
@@ -18,6 +18,8 @@
#pragma once
+#include "logging.h"
+
#include <QtCore/QObject>
#include <QtCore/QJsonDocument>
#include <QtCore/QJsonObject>
@@ -100,7 +102,7 @@ namespace QMatrixClient
{
public:
Status(StatusCode c) : code(c) { }
- Status(int c, QString m) : code(c), message(m) { }
+ Status(int c, QString m) : code(c), message(std::move(m)) { }
bool good() const { return code < ErrorLevel; }
@@ -111,10 +113,10 @@ namespace QMatrixClient
using duration_t = int; // milliseconds
public:
- BaseJob(ConnectionData* connection, HttpVerb verb, QString name,
- QString endpoint, Query query = Query(), Data data = Data(),
+ BaseJob(const ConnectionData* connection, HttpVerb verb,
+ const QString& name, const QString& endpoint,
+ const Query& query = {}, const Data& data = {},
bool needsToken = true);
- virtual ~BaseJob();
Status status() const;
int error() const;
@@ -198,7 +200,7 @@ namespace QMatrixClient
void failure(BaseJob*);
protected:
- ConnectionData* connection() const;
+ const ConnectionData* connection() const;
const QUrlQuery& query() const;
void setRequestQuery(const QUrlQuery& query);
@@ -241,6 +243,13 @@ namespace QMatrixClient
void setStatus(Status s);
void setStatus(int code, QString message);
+ // Q_DECLARE_LOGGING_CATEGORY return different function types
+ // in different versions
+ using LoggingCategory = decltype(JOBS)*;
+ void setLoggingCategory(LoggingCategory lcf);
+
+ // Job objects should only be deleted via QObject::deleteLater
+ virtual ~BaseJob();
protected slots:
void timeout();
void sslErrors(const QList<QSslError>& errors);
@@ -255,4 +264,4 @@ namespace QMatrixClient
class Private;
QScopedPointer<Private> d;
};
-}
+} // namespace QMatrixClient