[cpp-qt-client] Qt progress info (#18950)

* Update HttpRequest.cpp.mustache

Use stable 4-parameter connect

* add generated files

* Revert "add generated files"

This reverts commit 1d4e78aa0d42208b576354276c274000c29863f9.

* catch download progress in HttpRequest and pass it to api

* Update HttpRequest.cpp.mustache - clean mixed in changes

Removed additional changes from other PullRequest

* Update HttpRequest.cpp.mustache - replaced tabs by spaces

* Update api-header.mustache - replaced tabs by spaces

* Update HttpRequest.h.mustache - replaced tab by spaces

* ran step 3 from Linux

* changed downloadProgress to -nickname-DownloadProgress and added it to all regions where execution finish is connected

* ran step 3

* replaced tab by spaces

* ran step 3

* activate tracing to detect link issue

* removed redundant connects and encapsulated changes in {{addDownloadProgress}}

* added generated files from step 3

* remove cli-option for httprequest - this should be always there

* added files from step 3

* improved name

* Update samples-cpp-qt-client.yaml - fix parameter order

* Update samples-cpp-qt-client.yaml
This commit is contained in:
Jazzco 2024-08-05 08:40:14 +02:00 committed by GitHub
parent 25936b4198
commit ffd03b7e51
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
15 changed files with 36 additions and 1 deletions

View File

@ -30,4 +30,4 @@ jobs:
target: "desktop"
- name: Build
working-directory: "samples/client/petstore/cpp-qt"
run: cmake . && cmake --build .
run: cmake . && cmake --build . --verbose

View File

@ -372,6 +372,7 @@ void {{prefix}}HttpRequestWorker::execute({{prefix}}HttpRequestInput *input) {
}
if (reply != nullptr) {
reply->setParent(this);
connect(reply, &QNetworkReply::downloadProgress, this, &{{prefix}}HttpRequestWorker::downloadProgress);
connect(reply, &QNetworkReply::finished, [this, reply] {
on_reply_finished(reply);
});

View File

@ -72,6 +72,7 @@ public:
Q_SIGNALS:
void on_execution_finished({{prefix}}HttpRequestWorker *worker);
void downloadProgress(qint64 bytesReceived, qint64 bytesTotal);
private:
enum {{prefix}}CompressionType{

View File

@ -660,6 +660,8 @@ void {{classname}}::{{nickname}}({{#allParams}}{{#required}}const {{{dataType}}}
input.headers.insert(keyValueIt->first, keyValueIt->second);
}
{{#addDownloadProgress}}
connect(worker, &{{prefix}}HttpRequestWorker::downloadProgress, this, &{{classname}}::{{nickname}}Progress);{{/addDownloadProgress}}
connect(worker, &{{prefix}}HttpRequestWorker::on_execution_finished, this, &{{classname}}::{{nickname}}Callback);
connect(this, &{{classname}}::abortRequestsSignal, worker, &QObject::deleteLater);
connect(worker, &QObject::destroyed, this, [this]() {

View File

@ -88,6 +88,8 @@ private:
Q_SIGNALS:
{{#operations}}{{#operation}}
void {{nickname}}Signal({{#returnType}}{{{.}}} summary{{/returnType}});{{/operation}}{{/operations}}
{{#operations}}{{#operation}}{{#addDownloadProgress}}
void {{nickname}}Progress(qint64 bytesReceived, qint64 bytesTotal);{{/addDownloadProgress}}{{/operation}}{{/operations}}
{{#operations}}{{#operation}}
void {{nickname}}SignalFull({{prefix}}HttpRequestWorker *worker{{#returnType}}, {{{.}}} summary{{/returnType}});{{/operation}}{{/operations}}
{{#operations}}{{#operation}}

View File

@ -379,6 +379,7 @@ void PFXHttpRequestWorker::execute(PFXHttpRequestInput *input) {
}
if (reply != nullptr) {
reply->setParent(this);
connect(reply, &QNetworkReply::downloadProgress, this, &PFXHttpRequestWorker::downloadProgress);
connect(reply, &QNetworkReply::finished, [this, reply] {
on_reply_finished(reply);
});

View File

@ -80,6 +80,7 @@ public:
Q_SIGNALS:
void on_execution_finished(PFXHttpRequestWorker *worker);
void downloadProgress(qint64 bytesReceived, qint64 bytesTotal);
private:
enum PFXCompressionType{

View File

@ -240,6 +240,7 @@ void PFXPetApi::addPet(const PFXPet &pfx_pet) {
input.headers.insert(keyValueIt->first, keyValueIt->second);
}
connect(worker, &PFXHttpRequestWorker::on_execution_finished, this, &PFXPetApi::addPetCallback);
connect(this, &PFXPetApi::abortRequestsSignal, worker, &QObject::deleteLater);
connect(worker, &QObject::destroyed, this, [this]() {
@ -348,6 +349,7 @@ void PFXPetApi::allPets() {
input.headers.insert(keyValueIt->first, keyValueIt->second);
}
connect(worker, &PFXHttpRequestWorker::on_execution_finished, this, &PFXPetApi::allPetsCallback);
connect(this, &PFXPetApi::abortRequestsSignal, worker, &QObject::deleteLater);
connect(worker, &QObject::destroyed, this, [this]() {
@ -446,6 +448,7 @@ void PFXPetApi::deletePet(const qint64 &pet_id, const ::test_namespace::Optional
input.headers.insert(keyValueIt->first, keyValueIt->second);
}
connect(worker, &PFXHttpRequestWorker::on_execution_finished, this, &PFXPetApi::deletePetCallback);
connect(this, &PFXPetApi::abortRequestsSignal, worker, &QObject::deleteLater);
connect(worker, &QObject::destroyed, this, [this]() {
@ -640,6 +643,7 @@ void PFXPetApi::findPetsByStatus(const QList<QString> &status) {
input.headers.insert(keyValueIt->first, keyValueIt->second);
}
connect(worker, &PFXHttpRequestWorker::on_execution_finished, this, &PFXPetApi::findPetsByStatusCallback);
connect(this, &PFXPetApi::abortRequestsSignal, worker, &QObject::deleteLater);
connect(worker, &QObject::destroyed, this, [this]() {
@ -844,6 +848,7 @@ void PFXPetApi::findPetsByTags(const QList<QString> &tags) {
input.headers.insert(keyValueIt->first, keyValueIt->second);
}
connect(worker, &PFXHttpRequestWorker::on_execution_finished, this, &PFXPetApi::findPetsByTagsCallback);
connect(this, &PFXPetApi::abortRequestsSignal, worker, &QObject::deleteLater);
connect(worker, &QObject::destroyed, this, [this]() {
@ -980,6 +985,7 @@ void PFXPetApi::getPetById(const qint64 &pet_id) {
input.headers.insert(keyValueIt->first, keyValueIt->second);
}
connect(worker, &PFXHttpRequestWorker::on_execution_finished, this, &PFXPetApi::getPetByIdCallback);
connect(this, &PFXPetApi::abortRequestsSignal, worker, &QObject::deleteLater);
connect(worker, &QObject::destroyed, this, [this]() {
@ -1054,6 +1060,7 @@ void PFXPetApi::updatePet(const PFXPet &pfx_pet) {
input.headers.insert(keyValueIt->first, keyValueIt->second);
}
connect(worker, &PFXHttpRequestWorker::on_execution_finished, this, &PFXPetApi::updatePetCallback);
connect(this, &PFXPetApi::abortRequestsSignal, worker, &QObject::deleteLater);
connect(worker, &QObject::destroyed, this, [this]() {
@ -1184,6 +1191,7 @@ void PFXPetApi::updatePetWithForm(const qint64 &pet_id, const ::test_namespace::
input.headers.insert(keyValueIt->first, keyValueIt->second);
}
connect(worker, &PFXHttpRequestWorker::on_execution_finished, this, &PFXPetApi::updatePetWithFormCallback);
connect(this, &PFXPetApi::abortRequestsSignal, worker, &QObject::deleteLater);
connect(worker, &QObject::destroyed, this, [this]() {
@ -1314,6 +1322,7 @@ void PFXPetApi::uploadFile(const qint64 &pet_id, const ::test_namespace::Optiona
input.headers.insert(keyValueIt->first, keyValueIt->second);
}
connect(worker, &PFXHttpRequestWorker::on_execution_finished, this, &PFXPetApi::uploadFileCallback);
connect(this, &PFXPetApi::abortRequestsSignal, worker, &QObject::deleteLater);
connect(worker, &QObject::destroyed, this, [this]() {

View File

@ -152,6 +152,7 @@ Q_SIGNALS:
void updatePetWithFormSignal();
void uploadFileSignal(PFXApiResponse summary);
void addPetSignalFull(PFXHttpRequestWorker *worker);
void allPetsSignalFull(PFXHttpRequestWorker *worker, QSet<PFXPet> summary);
void deletePetSignalFull(PFXHttpRequestWorker *worker);

View File

@ -225,6 +225,7 @@ void PFXPrimitivesApi::primitivesIntegerPost(const ::test_namespace::OptionalPar
input.headers.insert(keyValueIt->first, keyValueIt->second);
}
connect(worker, &PFXHttpRequestWorker::on_execution_finished, this, &PFXPrimitivesApi::primitivesIntegerPostCallback);
connect(this, &PFXPrimitivesApi::abortRequestsSignal, worker, &QObject::deleteLater);
connect(worker, &QObject::destroyed, this, [this]() {
@ -297,6 +298,7 @@ void PFXPrimitivesApi::primitivesNumberPut(const ::test_namespace::OptionalParam
input.headers.insert(keyValueIt->first, keyValueIt->second);
}
connect(worker, &PFXHttpRequestWorker::on_execution_finished, this, &PFXPrimitivesApi::primitivesNumberPutCallback);
connect(this, &PFXPrimitivesApi::abortRequestsSignal, worker, &QObject::deleteLater);
connect(worker, &QObject::destroyed, this, [this]() {

View File

@ -96,6 +96,7 @@ Q_SIGNALS:
void primitivesIntegerPostSignal();
void primitivesNumberPutSignal();
void primitivesIntegerPostSignalFull(PFXHttpRequestWorker *worker);
void primitivesNumberPutSignalFull(PFXHttpRequestWorker *worker);

View File

@ -239,6 +239,7 @@ void PFXStoreApi::deleteOrder(const QString &order_id) {
input.headers.insert(keyValueIt->first, keyValueIt->second);
}
connect(worker, &PFXHttpRequestWorker::on_execution_finished, this, &PFXStoreApi::deleteOrderCallback);
connect(this, &PFXStoreApi::abortRequestsSignal, worker, &QObject::deleteLater);
connect(worker, &QObject::destroyed, this, [this]() {
@ -311,6 +312,7 @@ void PFXStoreApi::getInventory() {
input.headers.insert(keyValueIt->first, keyValueIt->second);
}
connect(worker, &PFXHttpRequestWorker::on_execution_finished, this, &PFXStoreApi::getInventoryCallback);
connect(this, &PFXStoreApi::abortRequestsSignal, worker, &QObject::deleteLater);
connect(worker, &QObject::destroyed, this, [this]() {
@ -403,6 +405,7 @@ void PFXStoreApi::getOrderById(const qint64 &order_id) {
input.headers.insert(keyValueIt->first, keyValueIt->second);
}
connect(worker, &PFXHttpRequestWorker::on_execution_finished, this, &PFXStoreApi::getOrderByIdCallback);
connect(this, &PFXStoreApi::abortRequestsSignal, worker, &QObject::deleteLater);
connect(worker, &QObject::destroyed, this, [this]() {
@ -477,6 +480,7 @@ void PFXStoreApi::placeOrder(const PFXOrder &pfx_order) {
input.headers.insert(keyValueIt->first, keyValueIt->second);
}
connect(worker, &PFXHttpRequestWorker::on_execution_finished, this, &PFXStoreApi::placeOrderCallback);
connect(this, &PFXStoreApi::abortRequestsSignal, worker, &QObject::deleteLater);
connect(worker, &QObject::destroyed, this, [this]() {

View File

@ -110,6 +110,7 @@ Q_SIGNALS:
void getOrderByIdSignal(PFXOrder summary);
void placeOrderSignal(PFXOrder summary);
void deleteOrderSignalFull(PFXHttpRequestWorker *worker);
void getInventorySignalFull(PFXHttpRequestWorker *worker, QMap<QString, qint32> summary);
void getOrderByIdSignalFull(PFXHttpRequestWorker *worker, PFXOrder summary);

View File

@ -238,6 +238,7 @@ void PFXUserApi::createUser(const PFXUser &pfx_user) {
input.headers.insert(keyValueIt->first, keyValueIt->second);
}
connect(worker, &PFXHttpRequestWorker::on_execution_finished, this, &PFXUserApi::createUserCallback);
connect(this, &PFXUserApi::abortRequestsSignal, worker, &QObject::deleteLater);
connect(worker, &QObject::destroyed, this, [this]() {
@ -310,6 +311,7 @@ void PFXUserApi::createUsersWithArrayInput(const QList<PFXUser> &pfx_user) {
input.headers.insert(keyValueIt->first, keyValueIt->second);
}
connect(worker, &PFXHttpRequestWorker::on_execution_finished, this, &PFXUserApi::createUsersWithArrayInputCallback);
connect(this, &PFXUserApi::abortRequestsSignal, worker, &QObject::deleteLater);
connect(worker, &QObject::destroyed, this, [this]() {
@ -382,6 +384,7 @@ void PFXUserApi::createUsersWithListInput(const QList<PFXUser> &pfx_user) {
input.headers.insert(keyValueIt->first, keyValueIt->second);
}
connect(worker, &PFXHttpRequestWorker::on_execution_finished, this, &PFXUserApi::createUsersWithListInputCallback);
connect(this, &PFXUserApi::abortRequestsSignal, worker, &QObject::deleteLater);
connect(worker, &QObject::destroyed, this, [this]() {
@ -464,6 +467,7 @@ void PFXUserApi::deleteUser(const QString &username) {
input.headers.insert(keyValueIt->first, keyValueIt->second);
}
connect(worker, &PFXHttpRequestWorker::on_execution_finished, this, &PFXUserApi::deleteUserCallback);
connect(this, &PFXUserApi::abortRequestsSignal, worker, &QObject::deleteLater);
connect(worker, &QObject::destroyed, this, [this]() {
@ -546,6 +550,7 @@ void PFXUserApi::getUserByName(const QString &username) {
input.headers.insert(keyValueIt->first, keyValueIt->second);
}
connect(worker, &PFXHttpRequestWorker::on_execution_finished, this, &PFXUserApi::getUserByNameCallback);
connect(this, &PFXUserApi::abortRequestsSignal, worker, &QObject::deleteLater);
connect(worker, &QObject::destroyed, this, [this]() {
@ -646,6 +651,7 @@ void PFXUserApi::loginUser(const QString &username, const QString &password) {
input.headers.insert(keyValueIt->first, keyValueIt->second);
}
connect(worker, &PFXHttpRequestWorker::on_execution_finished, this, &PFXUserApi::loginUserCallback);
connect(this, &PFXUserApi::abortRequestsSignal, worker, &QObject::deleteLater);
connect(worker, &QObject::destroyed, this, [this]() {
@ -716,6 +722,7 @@ void PFXUserApi::logoutUser() {
input.headers.insert(keyValueIt->first, keyValueIt->second);
}
connect(worker, &PFXHttpRequestWorker::on_execution_finished, this, &PFXUserApi::logoutUserCallback);
connect(this, &PFXUserApi::abortRequestsSignal, worker, &QObject::deleteLater);
connect(worker, &QObject::destroyed, this, [this]() {
@ -803,6 +810,7 @@ void PFXUserApi::updateUser(const QString &username, const PFXUser &pfx_user) {
input.headers.insert(keyValueIt->first, keyValueIt->second);
}
connect(worker, &PFXHttpRequestWorker::on_execution_finished, this, &PFXUserApi::updateUserCallback);
connect(this, &PFXUserApi::abortRequestsSignal, worker, &QObject::deleteLater);
connect(worker, &QObject::destroyed, this, [this]() {

View File

@ -139,6 +139,7 @@ Q_SIGNALS:
void logoutUserSignal();
void updateUserSignal();
void createUserSignalFull(PFXHttpRequestWorker *worker);
void createUsersWithArrayInputSignalFull(PFXHttpRequestWorker *worker);
void createUsersWithListInputSignalFull(PFXHttpRequestWorker *worker);