From 05585ff8cf9ef090c7158af47d99df835a22686d Mon Sep 17 00:00:00 2001 From: Konstantinos Sideris Date: Fri, 11 May 2018 13:41:46 +0300 Subject: [PATCH] Make explicit that MatrixClient & Cache are unique pointers --- include/Cache.h | 2 +- include/MatrixClient.h | 2 +- src/Cache.cc | 8 ++++---- src/ChatPage.cc | 2 +- src/MainWindow.cc | 2 +- src/MatrixClient.cc | 8 ++++---- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/include/Cache.h b/include/Cache.h index c038b3d9..a39633a8 100644 --- a/include/Cache.h +++ b/include/Cache.h @@ -438,7 +438,7 @@ private: namespace cache { void -init(const QString &userId, QObject *parent); +init(const QString &user_id); Cache * client(); diff --git a/include/MatrixClient.h b/include/MatrixClient.h index 6ed1c2c8..61e14d36 100644 --- a/include/MatrixClient.h +++ b/include/MatrixClient.h @@ -215,7 +215,7 @@ private: namespace http { //! Initialize the http module void -init(QObject *parent); +init(); //! Retrieve the client instance. MatrixClient * diff --git a/src/Cache.cc b/src/Cache.cc index d80834aa..23d37f58 100644 --- a/src/Cache.cc +++ b/src/Cache.cc @@ -54,21 +54,21 @@ using CachedReceipts = std::multimap>; namespace { -Cache *instance_ = nullptr; +std::unique_ptr instance_ = nullptr; } namespace cache { void -init(const QString &user_id, QObject *parent) +init(const QString &user_id) { if (!instance_) - instance_ = new Cache(user_id, parent); + instance_ = std::make_unique(user_id); } Cache * client() { - return instance_; + return instance_.get(); } } diff --git a/src/ChatPage.cc b/src/ChatPage.cc index 7f08eda6..6040dc66 100644 --- a/src/ChatPage.cc +++ b/src/ChatPage.cc @@ -497,7 +497,7 @@ ChatPage::bootstrap(QString userid, QString homeserver, QString token) http::client()->getOwnProfile(); http::client()->getOwnCommunities(); - cache::init(userid, this); + cache::init(userid); try { cache::client()->setup(); diff --git a/src/MainWindow.cc b/src/MainWindow.cc index e256e6c9..c46cbff1 100644 --- a/src/MainWindow.cc +++ b/src/MainWindow.cc @@ -55,7 +55,7 @@ MainWindow::MainWindow(QWidget *parent) setObjectName("MainWindow"); // Initialize the http client. - http::init(this); + http::init(); restoreWindowSize(); diff --git a/src/MatrixClient.cc b/src/MatrixClient.cc index c6ca74ad..6336a5cf 100644 --- a/src/MatrixClient.cc +++ b/src/MatrixClient.cc @@ -34,22 +34,22 @@ #include "MatrixClient.h" namespace { -MatrixClient *instance_ = nullptr; +std::unique_ptr instance_ = nullptr; } namespace http { void -init(QObject *parent) +init() { if (!instance_) - instance_ = new MatrixClient(parent); + instance_ = std::make_unique(); } MatrixClient * client() { - return instance_; + return instance_.get(); } }