@@ -37,11 +37,12 @@
|
||||
#include <QJsonValue>
|
||||
|
||||
#include "core/logging.h"
|
||||
#include "core/shared_ptr.h"
|
||||
#include "core/networkaccessmanager.h"
|
||||
#include "qobuzservice.h"
|
||||
#include "qobuzbaserequest.h"
|
||||
|
||||
QobuzBaseRequest::QobuzBaseRequest(QobuzService *service, NetworkAccessManager *network, QObject *parent)
|
||||
QobuzBaseRequest::QobuzBaseRequest(QobuzService *service, SharedPtr<NetworkAccessManager> network, QObject *parent)
|
||||
: QObject(parent),
|
||||
service_(service),
|
||||
network_(network) {}
|
||||
|
||||
@@ -34,6 +34,7 @@
|
||||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
|
||||
#include "core/shared_ptr.h"
|
||||
#include "core/song.h"
|
||||
#include "qobuzservice.h"
|
||||
|
||||
@@ -44,7 +45,7 @@ class QobuzBaseRequest : public QObject {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit QobuzBaseRequest(QobuzService *service, NetworkAccessManager *network, QObject *parent = nullptr);
|
||||
explicit QobuzBaseRequest(QobuzService *service, SharedPtr<NetworkAccessManager> network, QObject *parent = nullptr);
|
||||
~QobuzBaseRequest();
|
||||
|
||||
enum class QueryType {
|
||||
@@ -95,8 +96,7 @@ class QobuzBaseRequest : public QObject {
|
||||
|
||||
private:
|
||||
QobuzService *service_;
|
||||
NetworkAccessManager *network_;
|
||||
|
||||
SharedPtr<NetworkAccessManager> network_;
|
||||
};
|
||||
|
||||
#endif // QOBUZBASEREQUEST_H
|
||||
|
||||
@@ -29,13 +29,14 @@
|
||||
#include <QNetworkReply>
|
||||
|
||||
#include "core/logging.h"
|
||||
#include "core/shared_ptr.h"
|
||||
#include "core/networkaccessmanager.h"
|
||||
#include "core/song.h"
|
||||
#include "qobuzservice.h"
|
||||
#include "qobuzbaserequest.h"
|
||||
#include "qobuzfavoriterequest.h"
|
||||
|
||||
QobuzFavoriteRequest::QobuzFavoriteRequest(QobuzService *service, NetworkAccessManager *network, QObject *parent)
|
||||
QobuzFavoriteRequest::QobuzFavoriteRequest(QobuzService *service, SharedPtr<NetworkAccessManager> network, QObject *parent)
|
||||
: QobuzBaseRequest(service, network, parent),
|
||||
service_(service),
|
||||
network_(network) {}
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
#include <QString>
|
||||
|
||||
#include "qobuzbaserequest.h"
|
||||
#include "core/shared_ptr.h"
|
||||
#include "core/song.h"
|
||||
|
||||
class QNetworkReply;
|
||||
@@ -38,7 +39,7 @@ class QobuzFavoriteRequest : public QobuzBaseRequest {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit QobuzFavoriteRequest(QobuzService *service, NetworkAccessManager *network, QObject *parent = nullptr);
|
||||
explicit QobuzFavoriteRequest(QobuzService *service, SharedPtr<NetworkAccessManager> network, QObject *parent = nullptr);
|
||||
~QobuzFavoriteRequest();
|
||||
|
||||
private:
|
||||
@@ -80,7 +81,7 @@ class QobuzFavoriteRequest : public QobuzBaseRequest {
|
||||
void RemoveFavoritesRequest(const FavoriteType type, const QStringList &ids_list, const SongList &songs);
|
||||
|
||||
QobuzService *service_;
|
||||
NetworkAccessManager *network_;
|
||||
SharedPtr<NetworkAccessManager> network_;
|
||||
QList<QNetworkReply*> replies_;
|
||||
};
|
||||
|
||||
|
||||
@@ -35,6 +35,7 @@
|
||||
#include <QTimer>
|
||||
|
||||
#include "core/logging.h"
|
||||
#include "core/shared_ptr.h"
|
||||
#include "core/networkaccessmanager.h"
|
||||
#include "core/song.h"
|
||||
#include "core/application.h"
|
||||
@@ -54,7 +55,7 @@ constexpr int QobuzRequest::kMaxConcurrentAlbumSongsRequests = 3;
|
||||
constexpr int QobuzRequest::kMaxConcurrentAlbumCoverRequests = 1;
|
||||
constexpr int QobuzRequest::kFlushRequestsDelay = 200;
|
||||
|
||||
QobuzRequest::QobuzRequest(QobuzService *service, QobuzUrlHandler *url_handler, Application *app, NetworkAccessManager *network, const QueryType query_type, QObject *parent)
|
||||
QobuzRequest::QobuzRequest(QobuzService *service, QobuzUrlHandler *url_handler, Application *app, SharedPtr<NetworkAccessManager> network, const QueryType query_type, QObject *parent)
|
||||
: QobuzBaseRequest(service, network, parent),
|
||||
service_(service),
|
||||
url_handler_(url_handler),
|
||||
|
||||
@@ -37,6 +37,7 @@
|
||||
#include <QUrl>
|
||||
#include <QJsonObject>
|
||||
|
||||
#include "core/shared_ptr.h"
|
||||
#include "core/song.h"
|
||||
#include "qobuzbaserequest.h"
|
||||
|
||||
@@ -52,7 +53,7 @@ class QobuzRequest : public QobuzBaseRequest {
|
||||
|
||||
public:
|
||||
|
||||
explicit QobuzRequest(QobuzService *service, QobuzUrlHandler *url_handler, Application *app, NetworkAccessManager *network, const QueryType query_type, QObject *parent = nullptr);
|
||||
explicit QobuzRequest(QobuzService *service, QobuzUrlHandler *url_handler, Application *app, SharedPtr<NetworkAccessManager> network, const QueryType query_type, QObject *parent = nullptr);
|
||||
~QobuzRequest() override;
|
||||
|
||||
void ReloadSettings();
|
||||
@@ -181,7 +182,7 @@ class QobuzRequest : public QobuzBaseRequest {
|
||||
QobuzService *service_;
|
||||
QobuzUrlHandler *url_handler_;
|
||||
Application *app_;
|
||||
NetworkAccessManager *network_;
|
||||
SharedPtr<NetworkAccessManager> network_;
|
||||
QTimer *timer_flush_requests_;
|
||||
|
||||
const QueryType query_type_;
|
||||
|
||||
@@ -38,6 +38,7 @@
|
||||
#include <QSortFilterProxyModel>
|
||||
#include <QSslError>
|
||||
|
||||
#include "core/shared_ptr.h"
|
||||
#include "core/application.h"
|
||||
#include "core/player.h"
|
||||
#include "core/logging.h"
|
||||
@@ -57,6 +58,8 @@
|
||||
#include "settings/settingsdialog.h"
|
||||
#include "settings/qobuzsettingspage.h"
|
||||
|
||||
using std::make_shared;
|
||||
|
||||
const Song::Source QobuzService::kSource = Song::Source::Qobuz;
|
||||
const char QobuzService::kApiUrl[] = "https://www.qobuz.com/api.json/0.2";
|
||||
|
||||
@@ -110,15 +113,15 @@ QobuzService::QobuzService(Application *app, QObject *parent)
|
||||
|
||||
// Backends
|
||||
|
||||
artists_collection_backend_ = new CollectionBackend();
|
||||
artists_collection_backend_ = make_shared<CollectionBackend>();
|
||||
artists_collection_backend_->moveToThread(app_->database()->thread());
|
||||
artists_collection_backend_->Init(app_->database(), app->task_manager(), Song::Source::Qobuz, kArtistsSongsTable, kArtistsSongsFtsTable);
|
||||
|
||||
albums_collection_backend_ = new CollectionBackend();
|
||||
albums_collection_backend_ = make_shared<CollectionBackend>();
|
||||
albums_collection_backend_->moveToThread(app_->database()->thread());
|
||||
albums_collection_backend_->Init(app_->database(), app->task_manager(), Song::Source::Qobuz, kAlbumsSongsTable, kAlbumsSongsFtsTable);
|
||||
|
||||
songs_collection_backend_ = new CollectionBackend();
|
||||
songs_collection_backend_ = make_shared<CollectionBackend>();
|
||||
songs_collection_backend_->moveToThread(app_->database()->thread());
|
||||
songs_collection_backend_->Init(app_->database(), app->task_manager(), Song::Source::Qobuz, kSongsTable, kSongsFtsTable);
|
||||
|
||||
@@ -164,13 +167,13 @@ QobuzService::QobuzService(Application *app, QObject *parent)
|
||||
QObject::connect(this, &QobuzService::RemoveSongsByList, favorite_request_, QOverload<const SongList&>::of(&QobuzFavoriteRequest::RemoveSongs));
|
||||
QObject::connect(this, &QobuzService::RemoveSongsByMap, favorite_request_, QOverload<const SongMap&>::of(&QobuzFavoriteRequest::RemoveSongs));
|
||||
|
||||
QObject::connect(favorite_request_, &QobuzFavoriteRequest::ArtistsAdded, artists_collection_backend_, &CollectionBackend::AddOrUpdateSongs);
|
||||
QObject::connect(favorite_request_, &QobuzFavoriteRequest::AlbumsAdded, albums_collection_backend_, &CollectionBackend::AddOrUpdateSongs);
|
||||
QObject::connect(favorite_request_, &QobuzFavoriteRequest::SongsAdded, songs_collection_backend_, &CollectionBackend::AddOrUpdateSongs);
|
||||
QObject::connect(favorite_request_, &QobuzFavoriteRequest::ArtistsAdded, &*artists_collection_backend_, &CollectionBackend::AddOrUpdateSongs);
|
||||
QObject::connect(favorite_request_, &QobuzFavoriteRequest::AlbumsAdded, &*albums_collection_backend_, &CollectionBackend::AddOrUpdateSongs);
|
||||
QObject::connect(favorite_request_, &QobuzFavoriteRequest::SongsAdded, &*songs_collection_backend_, &CollectionBackend::AddOrUpdateSongs);
|
||||
|
||||
QObject::connect(favorite_request_, &QobuzFavoriteRequest::ArtistsRemoved, artists_collection_backend_, &CollectionBackend::DeleteSongs);
|
||||
QObject::connect(favorite_request_, &QobuzFavoriteRequest::AlbumsRemoved, albums_collection_backend_, &CollectionBackend::DeleteSongs);
|
||||
QObject::connect(favorite_request_, &QobuzFavoriteRequest::SongsRemoved, songs_collection_backend_, &CollectionBackend::DeleteSongs);
|
||||
QObject::connect(favorite_request_, &QobuzFavoriteRequest::ArtistsRemoved, &*artists_collection_backend_, &CollectionBackend::DeleteSongs);
|
||||
QObject::connect(favorite_request_, &QobuzFavoriteRequest::AlbumsRemoved, &*albums_collection_backend_, &CollectionBackend::DeleteSongs);
|
||||
QObject::connect(favorite_request_, &QobuzFavoriteRequest::SongsRemoved, &*songs_collection_backend_, &CollectionBackend::DeleteSongs);
|
||||
|
||||
QobuzService::ReloadSettings();
|
||||
|
||||
@@ -186,23 +189,23 @@ QobuzService::~QobuzService() {
|
||||
}
|
||||
|
||||
while (!stream_url_requests_.isEmpty()) {
|
||||
std::shared_ptr<QobuzStreamURLRequest> stream_url_req = stream_url_requests_.take(stream_url_requests_.firstKey());
|
||||
QObject::disconnect(stream_url_req.get(), nullptr, this, nullptr);
|
||||
SharedPtr<QobuzStreamURLRequest> stream_url_req = stream_url_requests_.take(stream_url_requests_.firstKey());
|
||||
QObject::disconnect(&*stream_url_req, nullptr, this, nullptr);
|
||||
}
|
||||
|
||||
artists_collection_backend_->deleteLater();
|
||||
albums_collection_backend_->deleteLater();
|
||||
songs_collection_backend_->deleteLater();
|
||||
artists_collection_backend_.reset();
|
||||
albums_collection_backend_.reset();
|
||||
songs_collection_backend_.reset();
|
||||
|
||||
}
|
||||
|
||||
void QobuzService::Exit() {
|
||||
|
||||
wait_for_exit_ << artists_collection_backend_ << albums_collection_backend_ << songs_collection_backend_;
|
||||
wait_for_exit_ << &*artists_collection_backend_ << &*albums_collection_backend_ << &*songs_collection_backend_;
|
||||
|
||||
QObject::connect(artists_collection_backend_, &CollectionBackend::ExitFinished, this, &QobuzService::ExitReceived);
|
||||
QObject::connect(albums_collection_backend_, &CollectionBackend::ExitFinished, this, &QobuzService::ExitReceived);
|
||||
QObject::connect(songs_collection_backend_, &CollectionBackend::ExitFinished, this, &QobuzService::ExitReceived);
|
||||
QObject::connect(&*artists_collection_backend_, &CollectionBackend::ExitFinished, this, &QobuzService::ExitReceived);
|
||||
QObject::connect(&*albums_collection_backend_, &CollectionBackend::ExitFinished, this, &QobuzService::ExitReceived);
|
||||
QObject::connect(&*songs_collection_backend_, &CollectionBackend::ExitFinished, this, &QobuzService::ExitReceived);
|
||||
|
||||
artists_collection_backend_->ExitAsync();
|
||||
albums_collection_backend_->ExitAsync();
|
||||
@@ -515,8 +518,8 @@ void QobuzService::TryLogin() {
|
||||
void QobuzService::ResetArtistsRequest() {
|
||||
|
||||
if (artists_request_) {
|
||||
QObject::disconnect(artists_request_.get(), nullptr, this, nullptr);
|
||||
QObject::disconnect(this, nullptr, artists_request_.get(), nullptr);
|
||||
QObject::disconnect(&*artists_request_, nullptr, this, nullptr);
|
||||
QObject::disconnect(this, nullptr, &*artists_request_, nullptr);
|
||||
artists_request_.reset();
|
||||
}
|
||||
|
||||
@@ -536,9 +539,9 @@ void QobuzService::GetArtists() {
|
||||
|
||||
ResetArtistsRequest();
|
||||
artists_request_.reset(new QobuzRequest(this, url_handler_, app_, network_, QobuzBaseRequest::QueryType::Artists), [](QobuzRequest *request) { request->deleteLater(); });
|
||||
QObject::connect(artists_request_.get(), &QobuzRequest::Results, this, &QobuzService::ArtistsResultsReceived);
|
||||
QObject::connect(artists_request_.get(), &QobuzRequest::UpdateStatus, this, &QobuzService::ArtistsUpdateStatusReceived);
|
||||
QObject::connect(artists_request_.get(), &QobuzRequest::UpdateProgress, this, &QobuzService::ArtistsUpdateProgressReceived);
|
||||
QObject::connect(&*artists_request_, &QobuzRequest::Results, this, &QobuzService::ArtistsResultsReceived);
|
||||
QObject::connect(&*artists_request_, &QobuzRequest::UpdateStatus, this, &QobuzService::ArtistsUpdateStatusReceived);
|
||||
QObject::connect(&*artists_request_, &QobuzRequest::UpdateProgress, this, &QobuzService::ArtistsUpdateProgressReceived);
|
||||
|
||||
artists_request_->Process();
|
||||
|
||||
@@ -565,8 +568,8 @@ void QobuzService::ArtistsUpdateProgressReceived(const int id, const int progres
|
||||
void QobuzService::ResetAlbumsRequest() {
|
||||
|
||||
if (albums_request_) {
|
||||
QObject::disconnect(albums_request_.get(), nullptr, this, nullptr);
|
||||
QObject::disconnect(this, nullptr, albums_request_.get(), nullptr);
|
||||
QObject::disconnect(&*albums_request_, nullptr, this, nullptr);
|
||||
QObject::disconnect(this, nullptr, &*albums_request_, nullptr);
|
||||
albums_request_.reset();
|
||||
}
|
||||
|
||||
@@ -586,9 +589,9 @@ void QobuzService::GetAlbums() {
|
||||
|
||||
ResetAlbumsRequest();
|
||||
albums_request_.reset(new QobuzRequest(this, url_handler_, app_, network_, QobuzBaseRequest::QueryType::Albums), [](QobuzRequest *request) { request->deleteLater(); });
|
||||
QObject::connect(albums_request_.get(), &QobuzRequest::Results, this, &QobuzService::AlbumsResultsReceived);
|
||||
QObject::connect(albums_request_.get(), &QobuzRequest::UpdateStatus, this, &QobuzService::AlbumsUpdateStatusReceived);
|
||||
QObject::connect(albums_request_.get(), &QobuzRequest::UpdateProgress, this, &QobuzService::AlbumsUpdateProgressReceived);
|
||||
QObject::connect(&*albums_request_, &QobuzRequest::Results, this, &QobuzService::AlbumsResultsReceived);
|
||||
QObject::connect(&*albums_request_, &QobuzRequest::UpdateStatus, this, &QobuzService::AlbumsUpdateStatusReceived);
|
||||
QObject::connect(&*albums_request_, &QobuzRequest::UpdateProgress, this, &QobuzService::AlbumsUpdateProgressReceived);
|
||||
|
||||
albums_request_->Process();
|
||||
|
||||
@@ -615,8 +618,8 @@ void QobuzService::AlbumsUpdateProgressReceived(const int id, const int progress
|
||||
void QobuzService::ResetSongsRequest() {
|
||||
|
||||
if (songs_request_) {
|
||||
QObject::disconnect(songs_request_.get(), nullptr, this, nullptr);
|
||||
QObject::disconnect(this, nullptr, songs_request_.get(), nullptr);
|
||||
QObject::disconnect(&*songs_request_, nullptr, this, nullptr);
|
||||
QObject::disconnect(this, nullptr, &*songs_request_, nullptr);
|
||||
songs_request_.reset();
|
||||
}
|
||||
|
||||
@@ -636,9 +639,9 @@ void QobuzService::GetSongs() {
|
||||
|
||||
ResetSongsRequest();
|
||||
songs_request_.reset(new QobuzRequest(this, url_handler_, app_, network_, QobuzBaseRequest::QueryType::Songs), [](QobuzRequest *request) { request->deleteLater(); });
|
||||
QObject::connect(songs_request_.get(), &QobuzRequest::Results, this, &QobuzService::SongsResultsReceived);
|
||||
QObject::connect(songs_request_.get(), &QobuzRequest::UpdateStatus, this, &QobuzService::SongsUpdateStatusReceived);
|
||||
QObject::connect(songs_request_.get(), &QobuzRequest::UpdateProgress, this, &QobuzService::SongsUpdateProgressReceived);
|
||||
QObject::connect(&*songs_request_, &QobuzRequest::Results, this, &QobuzService::SongsResultsReceived);
|
||||
QObject::connect(&*songs_request_, &QobuzRequest::UpdateStatus, this, &QobuzService::SongsUpdateStatusReceived);
|
||||
QObject::connect(&*songs_request_, &QobuzRequest::UpdateProgress, this, &QobuzService::SongsUpdateProgressReceived);
|
||||
|
||||
songs_request_->Process();
|
||||
|
||||
@@ -716,9 +719,9 @@ void QobuzService::SendSearch() {
|
||||
|
||||
search_request_.reset(new QobuzRequest(this, url_handler_, app_, network_, query_type), [](QobuzRequest *request) { request->deleteLater(); } );
|
||||
|
||||
QObject::connect(search_request_.get(), &QobuzRequest::Results, this, &QobuzService::SearchResultsReceived);
|
||||
QObject::connect(search_request_.get(), &QobuzRequest::UpdateStatus, this, &QobuzService::SearchUpdateStatus);
|
||||
QObject::connect(search_request_.get(), &QobuzRequest::UpdateProgress, this, &QobuzService::SearchUpdateProgress);
|
||||
QObject::connect(&*search_request_, &QobuzRequest::Results, this, &QobuzService::SearchResultsReceived);
|
||||
QObject::connect(&*search_request_, &QobuzRequest::UpdateStatus, this, &QobuzService::SearchUpdateStatus);
|
||||
QObject::connect(&*search_request_, &QobuzRequest::UpdateProgress, this, &QobuzService::SearchUpdateProgress);
|
||||
|
||||
search_request_->Search(search_id_, search_text_);
|
||||
search_request_->Process();
|
||||
@@ -741,14 +744,14 @@ uint QobuzService::GetStreamURL(const QUrl &url, QString &error) {
|
||||
|
||||
uint id = 0;
|
||||
while (id == 0) id = ++next_stream_url_request_id_;
|
||||
std::shared_ptr<QobuzStreamURLRequest> stream_url_req;
|
||||
SharedPtr<QobuzStreamURLRequest> stream_url_req;
|
||||
stream_url_req.reset(new QobuzStreamURLRequest(this, network_, url, id), [](QobuzStreamURLRequest *request) { request->deleteLater(); });
|
||||
stream_url_requests_.insert(id, stream_url_req);
|
||||
|
||||
QObject::connect(stream_url_req.get(), &QobuzStreamURLRequest::TryLogin, this, &QobuzService::TryLogin);
|
||||
QObject::connect(stream_url_req.get(), &QobuzStreamURLRequest::StreamURLFailure, this, &QobuzService::HandleStreamURLFailure);
|
||||
QObject::connect(stream_url_req.get(), &QobuzStreamURLRequest::StreamURLSuccess, this, &QobuzService::HandleStreamURLSuccess);
|
||||
QObject::connect(this, &QobuzService::LoginComplete, stream_url_req.get(), &QobuzStreamURLRequest::LoginComplete);
|
||||
QObject::connect(&*stream_url_req, &QobuzStreamURLRequest::TryLogin, this, &QobuzService::TryLogin);
|
||||
QObject::connect(&*stream_url_req, &QobuzStreamURLRequest::StreamURLFailure, this, &QobuzService::HandleStreamURLFailure);
|
||||
QObject::connect(&*stream_url_req, &QobuzStreamURLRequest::StreamURLSuccess, this, &QobuzService::HandleStreamURLSuccess);
|
||||
QObject::connect(this, &QobuzService::LoginComplete, &*stream_url_req, &QobuzStreamURLRequest::LoginComplete);
|
||||
|
||||
stream_url_req->Process();
|
||||
|
||||
|
||||
@@ -37,6 +37,7 @@
|
||||
#include <QUrl>
|
||||
#include <QSslError>
|
||||
|
||||
#include "core/shared_ptr.h"
|
||||
#include "core/song.h"
|
||||
#include "internet/internetservice.h"
|
||||
#include "internet/internetsearchview.h"
|
||||
@@ -57,7 +58,7 @@ class QobuzService : public InternetService {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit QobuzService(Application *app, QObject *parent);
|
||||
explicit QobuzService(Application *app, QObject *parent = nullptr);
|
||||
~QobuzService();
|
||||
|
||||
static const Song::Source kSource;
|
||||
@@ -95,9 +96,9 @@ class QobuzService : public InternetService {
|
||||
|
||||
uint GetStreamURL(const QUrl &url, QString &error);
|
||||
|
||||
CollectionBackend *artists_collection_backend() override { return artists_collection_backend_; }
|
||||
CollectionBackend *albums_collection_backend() override { return albums_collection_backend_; }
|
||||
CollectionBackend *songs_collection_backend() override { return songs_collection_backend_; }
|
||||
SharedPtr<CollectionBackend> artists_collection_backend() override { return artists_collection_backend_; }
|
||||
SharedPtr<CollectionBackend> albums_collection_backend() override { return albums_collection_backend_; }
|
||||
SharedPtr<CollectionBackend> songs_collection_backend() override { return songs_collection_backend_; }
|
||||
|
||||
CollectionModel *artists_collection_model() override { return artists_collection_model_; }
|
||||
CollectionModel *albums_collection_model() override { return albums_collection_model_; }
|
||||
@@ -160,12 +161,12 @@ class QobuzService : public InternetService {
|
||||
static const char kSongsFtsTable[];
|
||||
|
||||
Application *app_;
|
||||
NetworkAccessManager *network_;
|
||||
SharedPtr<NetworkAccessManager> network_;
|
||||
QobuzUrlHandler *url_handler_;
|
||||
|
||||
CollectionBackend *artists_collection_backend_;
|
||||
CollectionBackend *albums_collection_backend_;
|
||||
CollectionBackend *songs_collection_backend_;
|
||||
SharedPtr<CollectionBackend> artists_collection_backend_;
|
||||
SharedPtr<CollectionBackend> albums_collection_backend_;
|
||||
SharedPtr<CollectionBackend> songs_collection_backend_;
|
||||
|
||||
CollectionModel *artists_collection_model_;
|
||||
CollectionModel *albums_collection_model_;
|
||||
@@ -178,10 +179,10 @@ class QobuzService : public InternetService {
|
||||
QTimer *timer_search_delay_;
|
||||
QTimer *timer_login_attempt_;
|
||||
|
||||
std::shared_ptr<QobuzRequest> artists_request_;
|
||||
std::shared_ptr<QobuzRequest> albums_request_;
|
||||
std::shared_ptr<QobuzRequest> songs_request_;
|
||||
std::shared_ptr<QobuzRequest> search_request_;
|
||||
SharedPtr<QobuzRequest> artists_request_;
|
||||
SharedPtr<QobuzRequest> albums_request_;
|
||||
SharedPtr<QobuzRequest> songs_request_;
|
||||
SharedPtr<QobuzRequest> search_request_;
|
||||
QobuzFavoriteRequest *favorite_request_;
|
||||
|
||||
QString app_id_;
|
||||
@@ -211,7 +212,7 @@ class QobuzService : public InternetService {
|
||||
int login_attempts_;
|
||||
|
||||
uint next_stream_url_request_id_;
|
||||
QMap<uint, std::shared_ptr<QobuzStreamURLRequest>> stream_url_requests_;
|
||||
QMap<uint, SharedPtr<QobuzStreamURLRequest>> stream_url_requests_;
|
||||
|
||||
QStringList login_errors_;
|
||||
|
||||
@@ -219,4 +220,6 @@ class QobuzService : public InternetService {
|
||||
QList<QNetworkReply*> replies_;
|
||||
};
|
||||
|
||||
using QobuzServicePtr = SharedPtr<QobuzService>;
|
||||
|
||||
#endif // QOBUZSERVICE_H
|
||||
|
||||
@@ -34,6 +34,7 @@
|
||||
#include <QJsonObject>
|
||||
|
||||
#include "core/logging.h"
|
||||
#include "core/shared_ptr.h"
|
||||
#include "core/networkaccessmanager.h"
|
||||
#include "core/song.h"
|
||||
#include "utilities/timeconstants.h"
|
||||
@@ -41,7 +42,7 @@
|
||||
#include "qobuzbaserequest.h"
|
||||
#include "qobuzstreamurlrequest.h"
|
||||
|
||||
QobuzStreamURLRequest::QobuzStreamURLRequest(QobuzService *service, NetworkAccessManager *network, const QUrl &media_url, const uint id, QObject *parent)
|
||||
QobuzStreamURLRequest::QobuzStreamURLRequest(QobuzService *service, SharedPtr<NetworkAccessManager> network, const QUrl &media_url, const uint id, QObject *parent)
|
||||
: QobuzBaseRequest(service, network, parent),
|
||||
service_(service),
|
||||
reply_(nullptr),
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
#include <QStringList>
|
||||
#include <QUrl>
|
||||
|
||||
#include "core/shared_ptr.h"
|
||||
#include "core/song.h"
|
||||
#include "qobuzbaserequest.h"
|
||||
|
||||
@@ -40,7 +41,7 @@ class QobuzStreamURLRequest : public QobuzBaseRequest {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit QobuzStreamURLRequest(QobuzService *service, NetworkAccessManager *network, const QUrl &media_url, const uint id, QObject *parent = nullptr);
|
||||
explicit QobuzStreamURLRequest(QobuzService *service, SharedPtr<NetworkAccessManager> network, const QUrl &media_url, const uint id, QObject *parent = nullptr);
|
||||
~QobuzStreamURLRequest();
|
||||
|
||||
void GetStreamURL();
|
||||
|
||||
Reference in New Issue
Block a user