Rev 1 | Rev 162 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
#include "../StdAfx.h"#include "DownloadPackageList.h"namespace PluginManager {DownloadPackageList::DownloadPackageList(CPackages *p, CyStringList *servers){InitializeComponent();m_pPackages = p;m_pServers = servers;m_pCurrentServer = NULL;m_iServerPos = 0;}void DownloadPackageList::NextServer(){if ( !m_pCurrentServer ){m_pCurrentServer = m_pServers->Head();m_iServerPos = 1;}else{m_pCurrentServer = m_pCurrentServer->next;++m_iServerPos;}// last server doneif ( !m_pCurrentServer ){Finished();return;}this->label2->Text = Convert::ToString(m_iServerPos) + " / " + Convert::ToString(m_pServers->Count());this->label3->Text = SystemStringFromCyString(m_pCurrentServer->str);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(CyStringFromSystemString(lines[i]).Remove(9).Remove('\r'), m_pCurrentServer->str);}}}