void TargetButton::upload() { if (ftp != NULL) return; files = QDir(path()).entryList(QDir::Files | QDir::NoSymLinks); ftp->connectToHost(m_host, m_port); ftp->login(m_user, m_password); uploadNextFile(); }
void SavesSyncRequest::fileUploadedCallback(Storage::UploadResponse response) { _workingRequest = nullptr; if (_ignoreCallback) return; //update local timestamp for the uploaded file _localFilesTimestamps = DefaultSaveFileManager::loadTimestamps(); _localFilesTimestamps[_currentUploadingFile] = response.value.timestamp(); DefaultSaveFileManager::saveTimestamps(_localFilesTimestamps); //continue uploading files uploadNextFile(); }
void TargetButton::cleanupCommand(int id, bool error) { if (ftp == NULL) return; if (id == upload_id) { if (files.empty()) { done_id = ftp->close(); return; } uploadNextFile(); } if (id == done_id) cleanupTransfer(error); }
void SavesSyncRequest::downloadNextFile() { if (_filesToDownload.empty()) { _currentDownloadingFile = StorageFile("", 0, 0, false); //so getFilesToDownload() would return an empty array sendCommand(GUI::kSavesSyncEndedCmd, 0); uploadNextFile(); return; } _currentDownloadingFile = _filesToDownload.back(); _filesToDownload.pop_back(); sendCommand(GUI::kSavesSyncProgressCmd, (int)(getDownloadingProgress() * 100)); debug(9, "SavesSyncRequest: downloading %s (%d %%)", _currentDownloadingFile.name().c_str(), (int)(getProgress() * 100)); _workingRequest = _storage->downloadById( _currentDownloadingFile.id(), DefaultSaveFileManager::concatWithSavesPath(_currentDownloadingFile.name()), new Common::Callback<SavesSyncRequest, Storage::BoolResponse>(this, &SavesSyncRequest::fileDownloadedCallback), new Common::Callback<SavesSyncRequest, Networking::ErrorResponse>(this, &SavesSyncRequest::fileDownloadedErrorCallback) ); if (!_workingRequest) finishError(Networking::ErrorResponse(this)); }