Rev 162 | Blame | Compare with Previous | Last modification | View Log | RSS feed
#include "../StdAfx.h"#include "DownloadPackageList.h"namespace PluginManager {DownloadPackageList::DownloadPackageList(CPackages *p, Utils::WStringList *servers){InitializeComponent();m_pPackages = p;m_pServers = servers;_pCurrentServer = NULL;m_iServerPos = -1;}void DownloadPackageList::NextServer(){if(m_iServerPos == -1){m_iServerPos = 0;_pCurrentServer = &m_pServers->get(m_iServerPos)->str;}else{++m_iServerPos;if (static_cast<size_t>(m_iServerPos) >= m_pServers->size()){m_iServerPos = -1;_pCurrentServer = NULL;}else_pCurrentServer = &m_pServers->get(m_iServerPos)->str;}// last server doneif (!_pCurrentServer){Finished();return;}this->label2->Text = Convert::ToString(m_iServerPos) + " / " + Convert::ToString(m_pServers->size());this->label3->Text = _US(*_pCurrentServer);this->backgroundWorker1->RunWorkerAsync();}void DownloadPackageList::Finished(){Close();}void DownloadPackageList::ExtractWebData(String ^data){cli::array<String ^> ^lines = data->Split('\n');if ( lines ){for ( int i = 0; i < lines->Length; i++ )m_pPackages->parseAvailablePackage(_WS(lines[i]).remove(9).remove('\r'), *_pCurrentServer);}}}