Skip to content

Commit 89ad3f1

Browse files
Merge pull request #31178 from RomanPudashkin/async_network_manager
Add async network manager
2 parents 1dc02db + d149a96 commit 89ad3f1

33 files changed

+843
-334
lines changed

src/framework/cloud/audiocom/audiocomservice.cpp

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ Ret AudioComService::downloadAccountInfo()
133133
TRACEFUNC;
134134

135135
QBuffer receivedData;
136-
INetworkManagerPtr manager = networkManagerCreator()->makeNetworkManager();
136+
deprecated::INetworkManagerPtr manager = networkManagerCreator()->makeDeprecatedNetworkManager();
137137
Ret ret = manager->get(AUDIOCOM_USER_INFO_API_URL, &receivedData, headers());
138138

139139
if (!ret) {
@@ -185,7 +185,7 @@ bool AudioComService::doUpdateTokens()
185185
QBuffer receivedData(&jsonData);
186186
OutgoingDevice device(&receivedData);
187187

188-
INetworkManagerPtr manager = networkManagerCreator()->makeNetworkManager();
188+
deprecated::INetworkManagerPtr manager = networkManagerCreator()->makeDeprecatedNetworkManager();
189189
Ret ret = manager->post(serverConfig.refreshApiUrl, &device, &receivedData, headers());
190190

191191
if (!ret) {
@@ -208,7 +208,7 @@ ProgressPtr AudioComService::uploadAudio(QIODevice& audioData, const QString& au
208208
{
209209
ProgressPtr progress = std::make_shared<Progress>();
210210

211-
INetworkManagerPtr manager = networkManagerCreator()->makeNetworkManager();
211+
deprecated::INetworkManagerPtr manager = networkManagerCreator()->makeDeprecatedNetworkManager();
212212
manager->progress().progressChanged().onReceive(this, [progress](int64_t current, int64_t total, const std::string& message) {
213213
progress->progress(current, total, message);
214214
});
@@ -251,7 +251,7 @@ ProgressPtr AudioComService::uploadAudio(QIODevice& audioData, const QString& au
251251
return progress;
252252
}
253253

254-
Ret AudioComService::doUploadAudio(network::INetworkManagerPtr uploadManager, QIODevice& audioData, const QString& audioFormat)
254+
Ret AudioComService::doUploadAudio(network::deprecated::INetworkManagerPtr uploadManager, QIODevice& audioData, const QString& audioFormat)
255255
{
256256
TRACEFUNC;
257257

@@ -300,7 +300,7 @@ Ret AudioComService::doUploadAudio(network::INetworkManagerPtr uploadManager, QI
300300
return ret;
301301
}
302302

303-
Ret AudioComService::doUpdateVisibility(network::INetworkManagerPtr manager, const QUrl& url, Visibility visibility)
303+
Ret AudioComService::doUpdateVisibility(network::deprecated::INetworkManagerPtr manager, const QUrl& url, Visibility visibility)
304304
{
305305
QUrl patchUrl(AUDIOCOM_API_ROOT_URL + "/audio/" + idFromCloudUrl(url).toQString());
306306

@@ -319,7 +319,8 @@ Ret AudioComService::doUpdateVisibility(network::INetworkManagerPtr manager, con
319319
return ret;
320320
}
321321

322-
Ret AudioComService::doCreateAudio(network::INetworkManagerPtr manager, const QString& title, int size, const QString& audioFormat,
322+
Ret AudioComService::doCreateAudio(network::deprecated::INetworkManagerPtr manager, const QString& title, int size,
323+
const QString& audioFormat,
323324
const QUrl& existingUrl, Visibility visibility, bool replaceExisting)
324325
{
325326
TRACEFUNC;
@@ -375,7 +376,7 @@ Ret AudioComService::doCreateAudio(network::INetworkManagerPtr manager, const QS
375376

376377
void AudioComService::notifyServerAboutFailUpload(const QUrl& failUrl, const QString& token)
377378
{
378-
INetworkManagerPtr manager = networkManagerCreator()->makeNetworkManager();
379+
deprecated::INetworkManagerPtr manager = networkManagerCreator()->makeDeprecatedNetworkManager();
379380

380381
QBuffer receivedData;
381382

@@ -387,7 +388,7 @@ void AudioComService::notifyServerAboutFailUpload(const QUrl& failUrl, const QSt
387388

388389
void AudioComService::notifyServerAboutSuccessUpload(const QUrl& successUrl, const QString& token)
389390
{
390-
INetworkManagerPtr manager = networkManagerCreator()->makeNetworkManager();
391+
deprecated::INetworkManagerPtr manager = networkManagerCreator()->makeDeprecatedNetworkManager();
391392

392393
QBuffer receivedData;
393394
QBuffer outData;

src/framework/cloud/audiocom/audiocomservice.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,11 +61,11 @@ class AudioComService : public IAudioComService, public AbstractCloudService, pu
6161

6262
network::RequestHeaders headers(const QString& token = QString()) const;
6363

64-
Ret doUploadAudio(network::INetworkManagerPtr uploadManager, QIODevice& audioData, const QString& audioFormat);
65-
Ret doCreateAudio(network::INetworkManagerPtr manager, const QString& title, int size, const QString& audioFormat,
64+
Ret doUploadAudio(network::deprecated::INetworkManagerPtr uploadManager, QIODevice& audioData, const QString& audioFormat);
65+
Ret doCreateAudio(network::deprecated::INetworkManagerPtr manager, const QString& title, int size, const QString& audioFormat,
6666
const QUrl& existingUrl, Visibility visibility, bool replaceExisting);
6767

68-
Ret doUpdateVisibility(network::INetworkManagerPtr manager, const QUrl& url, Visibility visibility);
68+
Ret doUpdateVisibility(network::deprecated::INetworkManagerPtr manager, const QUrl& url, Visibility visibility);
6969

7070
void notifyServerAboutFailUpload(const QUrl& failUrl, const QString& token);
7171
void notifyServerAboutSuccessUpload(const QUrl& successUrl, const QString& token);

src/framework/cloud/internal/abstractcloudservice.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,7 @@ void AbstractCloudService::signOut()
283283
}
284284

285285
QBuffer receivedData;
286-
INetworkManagerPtr manager = networkManagerCreator()->makeNetworkManager();
286+
deprecated::INetworkManagerPtr manager = networkManagerCreator()->makeDeprecatedNetworkManager();
287287
Ret ret = manager->get(signOutUrl.val, &receivedData, m_serverConfig.headers);
288288
if (!ret) {
289289
printServerReply(receivedData);
@@ -326,7 +326,7 @@ ValCh<AccountInfo> AbstractCloudService::accountInfo() const
326326
Ret AbstractCloudService::checkCloudIsAvailable() const
327327
{
328328
QBuffer receivedData;
329-
INetworkManagerPtr manager = networkManagerCreator()->makeNetworkManager();
329+
deprecated::INetworkManagerPtr manager = networkManagerCreator()->makeDeprecatedNetworkManager();
330330
Ret ret = manager->get(m_serverConfig.serverAvailabilityUrl, &receivedData, m_serverConfig.headers);
331331

332332
if (!ret) {

src/framework/cloud/musescorecom/musescorecomservice.cpp

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ Ret MuseScoreComService::downloadAccountInfo()
132132
}
133133

134134
QBuffer receivedData;
135-
INetworkManagerPtr manager = networkManagerCreator()->makeNetworkManager();
135+
deprecated::INetworkManagerPtr manager = networkManagerCreator()->makeDeprecatedNetworkManager();
136136
Ret ret = manager->get(userInfoUrl.val, &receivedData, headers());
137137

138138
if (!ret) {
@@ -179,7 +179,7 @@ bool MuseScoreComService::doUpdateTokens()
179179
QBuffer receivedData;
180180
OutgoingDevice device(&multiPart);
181181

182-
INetworkManagerPtr manager = networkManagerCreator()->makeNetworkManager();
182+
deprecated::INetworkManagerPtr manager = networkManagerCreator()->makeDeprecatedNetworkManager();
183183
Ret ret = manager->post(serverConfig().refreshApiUrl, &device, &receivedData, headers());
184184

185185
if (!ret) {
@@ -224,7 +224,7 @@ RetVal<ScoreInfo> MuseScoreComService::downloadScoreInfo(int scoreId)
224224
}
225225

226226
QBuffer receivedData;
227-
INetworkManagerPtr manager = networkManagerCreator()->makeNetworkManager();
227+
deprecated::INetworkManagerPtr manager = networkManagerCreator()->makeDeprecatedNetworkManager();
228228
Ret ret = manager->get(scoreInfoUrl.val, &receivedData, headers());
229229

230230
if (!ret) {
@@ -273,7 +273,7 @@ async::Promise<ScoresList> MuseScoreComService::downloadScoresList(int scoresPer
273273
}
274274

275275
QBuffer receivedData;
276-
INetworkManagerPtr manager = networkManagerCreator()->makeNetworkManager();
276+
deprecated::INetworkManagerPtr manager = networkManagerCreator()->makeDeprecatedNetworkManager();
277277
Ret ret = manager->get(scoresListUrl.val, &receivedData, headers());
278278

279279
if (!ret) {
@@ -329,7 +329,7 @@ ProgressPtr MuseScoreComService::downloadScore(int scoreId, QIODevice& scoreData
329329
{
330330
ProgressPtr progress = std::make_shared<Progress>();
331331

332-
INetworkManagerPtr manager = networkManagerCreator()->makeNetworkManager();
332+
deprecated::INetworkManagerPtr manager = networkManagerCreator()->makeDeprecatedNetworkManager();
333333
manager->progress().progressChanged().onReceive(this, [progress](int64_t current, int64_t total, const std::string& message) {
334334
progress->progress(current, total, message);
335335
});
@@ -348,7 +348,7 @@ ProgressPtr MuseScoreComService::downloadScore(int scoreId, QIODevice& scoreData
348348
return progress;
349349
}
350350

351-
Ret MuseScoreComService::doDownloadScore(network::INetworkManagerPtr downloadManager, int scoreId, QIODevice& scoreData,
351+
Ret MuseScoreComService::doDownloadScore(network::deprecated::INetworkManagerPtr downloadManager, int scoreId, QIODevice& scoreData,
352352
const QString& hash, const QString& secret)
353353
{
354354
TRACEFUNC;
@@ -383,7 +383,7 @@ ProgressPtr MuseScoreComService::uploadScore(QIODevice& scoreData, const QString
383383
{
384384
ProgressPtr progress = std::make_shared<Progress>();
385385

386-
INetworkManagerPtr manager = networkManagerCreator()->makeNetworkManager();
386+
deprecated::INetworkManagerPtr manager = networkManagerCreator()->makeDeprecatedNetworkManager();
387387
manager->progress().progressChanged().onReceive(this, [progress](int64_t current, int64_t total, const std::string& message) {
388388
progress->progress(current, total, message);
389389
});
@@ -414,7 +414,7 @@ ProgressPtr MuseScoreComService::uploadAudio(QIODevice& audioData, const QString
414414
{
415415
ProgressPtr progress = std::make_shared<Progress>();
416416

417-
INetworkManagerPtr manager = networkManagerCreator()->makeNetworkManager();
417+
deprecated::INetworkManagerPtr manager = networkManagerCreator()->makeDeprecatedNetworkManager();
418418
manager->progress().progressChanged().onReceive(this, [progress](int64_t current, int64_t total, const std::string& message) {
419419
progress->progress(current, total, message);
420420
});
@@ -432,7 +432,7 @@ ProgressPtr MuseScoreComService::uploadAudio(QIODevice& audioData, const QString
432432
return progress;
433433
}
434434

435-
RetVal<ValMap> MuseScoreComService::doUploadScore(INetworkManagerPtr uploadManager, QIODevice& scoreData, const QString& title,
435+
RetVal<ValMap> MuseScoreComService::doUploadScore(deprecated::INetworkManagerPtr uploadManager, QIODevice& scoreData, const QString& title,
436436
Visibility visibility, const QUrl& sourceUrl, int revisionId)
437437
{
438438
TRACEFUNC;
@@ -549,7 +549,8 @@ RetVal<ValMap> MuseScoreComService::doUploadScore(INetworkManagerPtr uploadManag
549549
return result;
550550
}
551551

552-
Ret MuseScoreComService::doUploadAudio(network::INetworkManagerPtr uploadManager, QIODevice& audioData, const QString& audioFormat,
552+
Ret MuseScoreComService::doUploadAudio(network::deprecated::INetworkManagerPtr uploadManager, QIODevice& audioData,
553+
const QString& audioFormat,
553554
const QUrl& sourceUrl)
554555
{
555556
TRACEFUNC;

src/framework/cloud/musescorecom/musescorecomservice.h

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,13 +71,14 @@ class MuseScoreComService : public IMuseScoreComService, public AbstractCloudSer
7171

7272
network::RequestHeaders headers() const;
7373

74-
Ret doDownloadScore(network::INetworkManagerPtr downloadManager, int scoreId, QIODevice& scoreData,
74+
Ret doDownloadScore(network::deprecated::INetworkManagerPtr downloadManager, int scoreId, QIODevice& scoreData,
7575
const QString& hash = QString(), const QString& secret = QString());
7676

77-
RetVal<ValMap> doUploadScore(network::INetworkManagerPtr uploadManager, QIODevice& scoreData, const QString& title,
77+
RetVal<ValMap> doUploadScore(network::deprecated::INetworkManagerPtr uploadManager, QIODevice& scoreData, const QString& title,
7878
Visibility visibility, const QUrl& sourceUrl = QUrl(), int revisionId = 0);
7979

80-
Ret doUploadAudio(network::INetworkManagerPtr uploadManager, QIODevice& audioData, const QString& audioFormat, const QUrl& sourceUrl);
80+
Ret doUploadAudio(network::deprecated::INetworkManagerPtr uploadManager, QIODevice& audioData, const QString& audioFormat,
81+
const QUrl& sourceUrl);
8182
};
8283
}
8384

src/framework/languages/internal/languagesservice.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -377,7 +377,7 @@ void LanguagesService::th_update(const QString& languageCode, Progress progress)
377377
bool LanguagesService::canUpdate(const QString& languageCode)
378378
{
379379
QBuffer buff;
380-
INetworkManagerPtr networkManagerPtr = networkManagerCreator()->makeNetworkManager();
380+
deprecated::INetworkManagerPtr networkManagerPtr = networkManagerCreator()->makeDeprecatedNetworkManager();
381381

382382
Ret ret = networkManagerPtr->get(configuration()->languagesUpdateUrl().toString(), &buff);
383383
if (!ret) {
@@ -413,7 +413,7 @@ Ret LanguagesService::downloadLanguage(const QString& languageCode, Progress pro
413413
progress.progress(0, 0, downloadingStatusTitle);
414414

415415
QBuffer qbuff;
416-
INetworkManagerPtr networkManagerPtr = networkManagerCreator()->makeNetworkManager();
416+
deprecated::INetworkManagerPtr networkManagerPtr = networkManagerCreator()->makeDeprecatedNetworkManager();
417417

418418
networkManagerPtr->progress().progressChanged().onReceive(
419419
this, [&progress, &downloadingStatusTitle](int64_t current, int64_t total, const std::string&) {

src/framework/learn/internal/learnservice.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ void LearnService::th_requestPlaylist(const QUrl& playlistUrl, std::function<voi
110110
{
111111
TRACEFUNC;
112112

113-
network::INetworkManagerPtr networkManager = networkManagerCreator()->makeNetworkManager();
113+
deprecated::INetworkManagerPtr networkManager = networkManagerCreator()->makeDeprecatedNetworkManager();
114114
RequestHeaders headers = configuration()->headers();
115115

116116
QBuffer playlistInfoData;

src/framework/network/CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,13 @@ set(MODULE_SRC
2626
${CMAKE_CURRENT_LIST_DIR}/networkmodule.h
2727
${CMAKE_CURRENT_LIST_DIR}/networkerrors.h
2828
${CMAKE_CURRENT_LIST_DIR}/networktypes.h
29+
${CMAKE_CURRENT_LIST_DIR}/deprecated/inetworkmanager.h
2930
${CMAKE_CURRENT_LIST_DIR}/inetworkmanager.h
3031
${CMAKE_CURRENT_LIST_DIR}/inetworkmanagercreator.h
3132
${CMAKE_CURRENT_LIST_DIR}/inetworkconfiguration.h
3233

34+
${CMAKE_CURRENT_LIST_DIR}/internal/deprecated/networkmanager.cpp
35+
${CMAKE_CURRENT_LIST_DIR}/internal/deprecated/networkmanager.h
3336
${CMAKE_CURRENT_LIST_DIR}/internal/networkmanager.cpp
3437
${CMAKE_CURRENT_LIST_DIR}/internal/networkmanager.h
3538
${CMAKE_CURRENT_LIST_DIR}/internal/networkmanagercreator.cpp
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
/*
2+
* SPDX-License-Identifier: GPL-3.0-only
3+
* MuseScore-CLA-applies
4+
*
5+
* MuseScore
6+
* Music Composition & Notation
7+
*
8+
* Copyright (C) 2021 MuseScore Limited and others
9+
*
10+
* This program is free software: you can redistribute it and/or modify
11+
* it under the terms of the GNU General Public License version 3 as
12+
* published by the Free Software Foundation.
13+
*
14+
* This program is distributed in the hope that it will be useful,
15+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
16+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17+
* GNU General Public License for more details.
18+
*
19+
* You should have received a copy of the GNU General Public License
20+
* along with this program. If not, see <https://www.gnu.org/licenses/>.
21+
*/
22+
#ifndef MUSE_NETWORK_INETWORKMANAGER_H
23+
#define MUSE_NETWORK_INETWORKMANAGER_H
24+
25+
#include "types/ret.h"
26+
#include "global/progress.h"
27+
#include "../networktypes.h"
28+
29+
class QUrl;
30+
31+
namespace muse::network::deprecated {
32+
class INetworkManager
33+
{
34+
public:
35+
virtual ~INetworkManager() = default;
36+
37+
virtual Ret get(const QUrl& url, IncomingDevice* incomingData, const RequestHeaders& headers = RequestHeaders()) = 0;
38+
virtual Ret head(const QUrl& url, const RequestHeaders& headers = RequestHeaders()) = 0;
39+
virtual Ret post(const QUrl& url, OutgoingDevice* outgoingData, IncomingDevice* incomingData,
40+
const RequestHeaders& headers = RequestHeaders()) = 0;
41+
virtual Ret put(const QUrl& url, OutgoingDevice* outgoingData, IncomingDevice* incomingData,
42+
const RequestHeaders& headers = RequestHeaders()) = 0;
43+
virtual Ret patch(const QUrl& url, OutgoingDevice* outgoingData, IncomingDevice* incomingData,
44+
const RequestHeaders& headers = RequestHeaders()) = 0;
45+
virtual Ret del(const QUrl& url, IncomingDevice* incomingData, const RequestHeaders& headers = RequestHeaders()) = 0;
46+
47+
virtual Progress progress() const = 0;
48+
49+
virtual void abort() = 0;
50+
};
51+
52+
using INetworkManagerPtr = std::shared_ptr<INetworkManager>;
53+
}
54+
55+
#endif // MUSE_NETWORK_INETWORKMANAGER_H

src/framework/network/inetworkmanager.h

Lines changed: 14 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
* MuseScore
66
* Music Composition & Notation
77
*
8-
* Copyright (C) 2021 MuseScore Limited and others
8+
* Copyright (C) 2025 MuseScore Limited and others
99
*
1010
* This program is free software: you can redistribute it and/or modify
1111
* it under the terms of the GNU General Public License version 3 as
@@ -19,11 +19,12 @@
1919
* You should have received a copy of the GNU General Public License
2020
* along with this program. If not, see <https://www.gnu.org/licenses/>.
2121
*/
22-
#ifndef MUSE_NETWORK_INETWORKMANAGER_H
23-
#define MUSE_NETWORK_INETWORKMANAGER_H
2422

25-
#include "types/ret.h"
23+
#pragma once
24+
25+
#include "global/types/ret.h"
2626
#include "global/progress.h"
27+
2728
#include "networktypes.h"
2829

2930
class QUrl;
@@ -34,22 +35,16 @@ class INetworkManager
3435
public:
3536
virtual ~INetworkManager() = default;
3637

37-
virtual Ret get(const QUrl& url, IncomingDevice* incomingData, const RequestHeaders& headers = RequestHeaders()) = 0;
38-
virtual Ret head(const QUrl& url, const RequestHeaders& headers = RequestHeaders()) = 0;
39-
virtual Ret post(const QUrl& url, OutgoingDevice* outgoingData, IncomingDevice* incomingData,
40-
const RequestHeaders& headers = RequestHeaders()) = 0;
41-
virtual Ret put(const QUrl& url, OutgoingDevice* outgoingData, IncomingDevice* incomingData,
42-
const RequestHeaders& headers = RequestHeaders()) = 0;
43-
virtual Ret patch(const QUrl& url, OutgoingDevice* outgoingData, IncomingDevice* incomingData,
44-
const RequestHeaders& headers = RequestHeaders()) = 0;
45-
virtual Ret del(const QUrl& url, IncomingDevice* incomingData, const RequestHeaders& headers = RequestHeaders()) = 0;
46-
47-
virtual Progress progress() const = 0;
48-
49-
virtual void abort() = 0;
38+
virtual RetVal<Progress> get(const QUrl& url, IncomingDevicePtr incomingData, const RequestHeaders& headers = RequestHeaders()) = 0;
39+
virtual RetVal<Progress> head(const QUrl& url, const RequestHeaders& headers = RequestHeaders()) = 0;
40+
virtual RetVal<Progress> post(const QUrl& url, OutgoingDeviceVar outgoingData, IncomingDevicePtr incomingData,
41+
const RequestHeaders& headers = RequestHeaders()) = 0;
42+
virtual RetVal<Progress> put(const QUrl& url, OutgoingDeviceVar outgoingData, IncomingDevicePtr incomingData,
43+
const RequestHeaders& headers = RequestHeaders()) = 0;
44+
virtual RetVal<Progress> patch(const QUrl& url, OutgoingDeviceVar outgoingData, IncomingDevicePtr incomingData,
45+
const RequestHeaders& headers = RequestHeaders()) = 0;
46+
virtual RetVal<Progress> del(const QUrl& url, IncomingDevicePtr incomingData, const RequestHeaders& headers = RequestHeaders()) = 0;
5047
};
5148

5249
using INetworkManagerPtr = std::shared_ptr<INetworkManager>;
5350
}
54-
55-
#endif // MUSE_NETWORK_INETWORKMANAGER_H

0 commit comments

Comments
 (0)