From 4c4ea557b344b035507652cfbc3b616904f958e9 Mon Sep 17 00:00:00 2001 From: Konstantinos Sideris Date: Tue, 8 May 2018 18:43:56 +0300 Subject: Replace shared pointers of MatrixClient with a single instance --- src/MatrixClient.cc | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) (limited to 'src/MatrixClient.cc') 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 &) { reply->ignoreSslErrors(); }); } - setServer(server); - QJsonObject default_filter{ { "room", -- cgit 1.5.1