KDvoid AssetsManager::update ( KDvoid ) { // 1. Urls of package and version should be valid; // 2. Package should be a zip file. if ( m_sVersionFileUrl.size ( ) == 0 || m_sPackageUrl.size ( ) == 0 || std::string::npos == m_sPackageUrl.find ( ".zip" ) ) { CCLOG ( "no version file url, or no package url, or the package is not a zip file" ); return; } // Check if there is a new version. if ( !checkUpdate ( ) ) { return; } // Is package already downloaded? std::string sDownloadedVersion = CCUserDefault::sharedUserDefault ( )->getStringForKey ( KEY_OF_DOWNLOADED_VERSION ); if ( sDownloadedVersion != m_sVersion ) { if ( !downLoad ( ) ) { return; } // Record downloaded version. CCUserDefault::sharedUserDefault ( )->setStringForKey ( KEY_OF_DOWNLOADED_VERSION, m_sVersion.c_str ( ) ); CCUserDefault::sharedUserDefault ( )->flush ( ); } // Uncompress zip file. if ( !uncompress_ ( ) ) { return; } // Record new version code. CCUserDefault::sharedUserDefault ( )->setStringForKey ( KEY_OF_VERSION, m_sVersion.c_str ( ) ); // Unrecord downloaded version code. CCUserDefault::sharedUserDefault ( )->setStringForKey ( KEY_OF_DOWNLOADED_VERSION, "" ); CCUserDefault::sharedUserDefault ( )->flush ( ); // Set resource search path. setSearchPath ( ); // Delete unloaded zip file. std::string sZipfileName = m_sStoragePath + TEMP_PACKAGE_FILE_NAME; if ( kdRemove ( sZipfileName.c_str ( ) ) != 0 ) { CCLOG ( "can not remove downloaded zip file" ); } }
void CFtpTransfer::downloadDir(QString sDir, QString sSaveRoot) { if(sSaveRoot=="") sSaveRoot=QApplication::applicationDirPath(); m_listFile.clear(); m_flagProcessOk=false; m_ftp.connectToHost(m_url.host(),m_url.port()); m_ftp.login(m_url.userName(),m_url.password()); // m_ftp.cd(sDirPath); m_ftp.cd(sDir); m_ftp.list(); int iRe=cTimeOut(5000,m_flagProcessOk); m_ftp.close(); if(iRe!=0) { qDebug()<<"connect false or dir no data"; return; } QDir dir; if(!dir.exists(sSaveRoot)) { dir.mkdir(sSaveRoot); } // if(!dir.exists(sSaveRoot+"/"+sDir)) // { // dir.mkdir(sSaveRoot+"/"+sDir); // } // QString sSavePath=sSaveRoot+"/"+sDir; for(int i=0;i<m_listFile.length();i++) { QString sFile="/"+sDir+"/"+m_listFile.at(i); qDebug()<<"down file : "<<sFile; qDebug()<<"sava path: "<<sSaveRoot; // sFile="aa/BRClient/20151130_2"; downLoad(sFile,sSaveRoot+"/"); } }
void CFtpTransfer::downloadFile(QString sFile, QString sSaveRoot) { downLoad(sFile); }