Clean up putmultifilejob class definition

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
This commit is contained in:
Claudio Cambra 2023-05-11 11:09:57 +08:00
parent ec4d5a69ed
commit 311dcf29c6
2 changed files with 35 additions and 24 deletions

View File

@ -20,18 +20,35 @@ namespace OCC {
Q_LOGGING_CATEGORY(lcPutMultiFileJob, "nextcloud.sync.networkjob.put.multi", QtInfoMsg)
PutMultiFileJob::PutMultiFileJob(AccountPtr account,
const QUrl &url,
std::vector<SingleUploadFileData> devices,
QObject *parent)
: AbstractNetworkJob(account, {}, parent)
, _devices(std::move(devices))
, _url(url)
{
_body.setContentType(QHttpMultiPart::RelatedType);
for(const auto &singleDevice : _devices) {
singleDevice._device->setParent(this);
connect(this, &PutMultiFileJob::uploadProgress,
singleDevice._device.get(), &UploadDevice::slotJobUploadProgress);
}
}
PutMultiFileJob::~PutMultiFileJob() = default;
void PutMultiFileJob::start()
{
QNetworkRequest req;
for(auto &oneDevice : _devices) {
for(const auto &oneDevice : _devices) {
auto onePart = QHttpPart{};
onePart.setBodyDevice(oneDevice._device.get());
for (QMap<QByteArray, QByteArray>::const_iterator it = oneDevice._headers.begin(); it != oneDevice._headers.end(); ++it) {
for (auto it = oneDevice._headers.begin(); it != oneDevice._headers.end(); ++it) {
onePart.setRawHeader(it.key(), it.value());
}
@ -67,4 +84,14 @@ bool PutMultiFileJob::finished()
return true;
}
QString PutMultiFileJob::errorString() const
{
return _errorString.isEmpty() ? AbstractNetworkJob::errorString() : _errorString;
}
std::chrono::milliseconds PutMultiFileJob::msSinceStart() const
{
return std::chrono::milliseconds(_requestTimer.elapsed());
}
}

View File

@ -49,19 +49,10 @@ class OWNCLOUDSYNC_EXPORT PutMultiFileJob : public AbstractNetworkJob
Q_OBJECT
public:
explicit PutMultiFileJob(AccountPtr account, const QUrl &url,
std::vector<SingleUploadFileData> devices, QObject *parent = nullptr)
: AbstractNetworkJob(account, {}, parent)
, _devices(std::move(devices))
, _url(url)
{
_body.setContentType(QHttpMultiPart::RelatedType);
for(auto &singleDevice : _devices) {
singleDevice._device->setParent(this);
connect(this, &PutMultiFileJob::uploadProgress,
singleDevice._device.get(), &UploadDevice::slotJobUploadProgress);
}
}
explicit PutMultiFileJob(AccountPtr account,
const QUrl &url,
std::vector<SingleUploadFileData> devices,
QObject *parent = nullptr);
~PutMultiFileJob() override;
@ -69,15 +60,8 @@ public:
bool finished() override;
[[nodiscard]] QString errorString() const override
{
return _errorString.isEmpty() ? AbstractNetworkJob::errorString() : _errorString;
}
[[nodiscard]] std::chrono::milliseconds msSinceStart() const
{
return std::chrono::milliseconds(_requestTimer.elapsed());
}
[[nodiscard]] QString errorString() const override;
[[nodiscard]] std::chrono::milliseconds msSinceStart() const;
signals:
void finishedSignal();