SPEED_INFO DownloadDriverStatistic::GetSpeedInfo() { if (false == is_running_) { return SPEED_INFO(); } UpdateSpeedInfo(); return download_driver_statistic_info_.SpeedInfo; }
/*--- Launch thread ---*/ void Downloader::Connect() { qDebug() << "Downloader::Connect"; // Files init QFile::remove(FTP_OLD_RELEASE_NOTES_FILE); QFile::copy(FTP_RELEASE_NOTES_FILE, FTP_OLD_RELEASE_NOTES_FILE); QFile::remove(FTP_RELEASE_NOTES_FILE); QFile::remove(FTP_MANIFEST_FILE); // URL setup baseUrl = new QUrl(); baseUrl->setScheme("ftp"); baseUrl->setPort(21); baseUrl->setHost(FTP_SERVER); baseUrl->setUserName(FTP_USER); // FTP setup currentSpeed = 0.0; currentFtpFile = ""; ftp = new QNetworkAccessManager(); connect(ftp, SIGNAL(finished(QNetworkReply*)), this, SLOT(FileFinished(QNetworkReply*))); // Timers chrono = new QTime(); timeoutTimer = new QTimer(this); speedUpdateTimer = new QTimer(this); downloadUpdateTimer = new QTimer(this); connect(timeoutTimer, SIGNAL(timeout()), this, SLOT(Reconnect())); connect(speedUpdateTimer, SIGNAL(timeout()), this, SLOT(UpdateSpeedInfo())); connect(downloadUpdateTimer, SIGNAL(timeout()), this, SLOT(UpdateDownloadInfo())); // Chrono chronoSize = 0; chrono->start(); speedUpdateTimer->setSingleShot(true); speedUpdateTimer->start(FTP_SPEED_UPDATE_TIME); downloadUpdateTimer->setSingleShot(true); downloadUpdateTimer->start(FTP_DOWNLOAD_UPDATE_TIME); // Launch #if USE_PASSWORD emit AskForPassword(); #else Login(""); #endif }
const DOWNLOADDRIVER_STATISTIC_INFO& DownloadDriverStatistic::TakeSnapshot() { UpdateSpeedInfo(); UpdateHttpDownloaderInfo(); return download_driver_statistic_info_; }