summary refs log tree commit diff
path: root/src/MatrixClient.cc
diff options
context:
space:
mode:
authorKonstantinos Sideris <sideris.konstantin@gmail.com>2018-05-08 18:43:56 +0300
committerKonstantinos Sideris <sideris.konstantin@gmail.com>2018-05-08 18:43:56 +0300
commit4c4ea557b344b035507652cfbc3b616904f958e9 (patch)
treee8e610bfdaebb0ffb3a472f89b699bc3f65852b8 /src/MatrixClient.cc
parentRemove the pseudo deb & rpm packages from releases (diff)
downloadnheko-4c4ea557b344b035507652cfbc3b616904f958e9.tar.xz
Replace shared pointers of MatrixClient with a single instance
Diffstat (limited to 'src/MatrixClient.cc')
-rw-r--r--src/MatrixClient.cc24
1 files changed, 21 insertions, 3 deletions
diff --git a/src/MatrixClient.cc b/src/MatrixClient.cc

index 54756c7c..c6ca74ad 100644 --- a/src/MatrixClient.cc +++ b/src/MatrixClient.cc
@@ -33,7 +33,27 @@ #include "MatrixClient.h" -MatrixClient::MatrixClient(QString server, QObject *parent) +namespace { +MatrixClient *instance_ = nullptr; +} + +namespace http { + +void +init(QObject *parent) +{ + if (!instance_) + instance_ = new MatrixClient(parent); +} + +MatrixClient * +client() +{ + return instance_; +} +} + +MatrixClient::MatrixClient(QObject *parent) : QNetworkAccessManager(parent) , clientApiUrl_{"/_matrix/client/r0"} , mediaApiUrl_{"/_matrix/media/r0"} @@ -55,8 +75,6 @@ MatrixClient::MatrixClient(QString server, QObject *parent) [](QNetworkReply *reply, const QList<QSslError> &) { reply->ignoreSslErrors(); }); } - setServer(server); - QJsonObject default_filter{ { "room",