Application: Use shared pointers

Fixes #1239
This commit is contained in:
Jonas Kvinge
2023-07-21 05:55:24 +02:00
parent d6b53f78ab
commit 2e61235403
316 changed files with 2170 additions and 1643 deletions

View File

@@ -17,10 +17,13 @@
*
*/
#include <memory>
#include <QObject>
#include <QSortFilterProxyModel>
#include "core/logging.h"
#include "core/shared_ptr.h"
#include "core/application.h"
#include "core/database.h"
#include "core/networkaccessmanager.h"
@@ -32,6 +35,8 @@
#include "somafmservice.h"
#include "radioparadiseservice.h"
using std::make_shared;
RadioServices::RadioServices(Application *app, QObject *parent)
: QObject(parent),
network_(app->network()),
@@ -40,10 +45,10 @@ RadioServices::RadioServices(Application *app, QObject *parent)
sort_model_(new QSortFilterProxyModel(this)),
channels_refresh_(false) {
backend_ = new RadioBackend(app->database());
app->MoveToThread(backend_, app->database()->thread());
backend_ = make_shared<RadioBackend>(app->database());
app->MoveToThread(&*backend_, app->database()->thread());
QObject::connect(backend_, &RadioBackend::NewChannels, this, &RadioServices::GotChannelsFromBackend);
QObject::connect(&*backend_, &RadioBackend::NewChannels, this, &RadioServices::GotChannelsFromBackend);
sort_model_->setSourceModel(model_);
sort_model_->setSortRole(RadioModel::Role_SortText);
@@ -56,12 +61,6 @@ RadioServices::RadioServices(Application *app, QObject *parent)
}
RadioServices::~RadioServices() {
backend_->deleteLater();
}
void RadioServices::AddService(RadioService *service) {
qLog(Debug) << "Adding radio service:" << service->name();