Subversion Repositories spk

Rev

Rev 1 | Rev 161 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1 Rev 75
Line 20... Line 20...
20
	///          resources associated with this form.
20
	///          resources associated with this form.
21
	/// </summary>
21
	/// </summary>
22
	public ref class DownloadPackageList : public System::Windows::Forms::Form
22
	public ref class DownloadPackageList : public System::Windows::Forms::Form
23
	{
23
	{
24
	public:
24
	public:
25
		DownloadPackageList(CPackages *p, CyStringList *servers)
25
		DownloadPackageList(CPackages *p, CyStringList *servers);
26
		{
-
 
27
			InitializeComponent();
-
 
28
 
-
 
29
			m_pPackages = p;
-
 
30
			m_pServers = servers;
-
 
31
			m_pCurrentServer = NULL;
-
 
32
			m_iServerPos = 0;
-
 
33
		}
-
 
34
 
-
 
35
		void NextServer()
-
 
36
		{
-
 
37
			if ( !m_pCurrentServer )
-
 
38
			{
-
 
39
				m_pCurrentServer = m_pServers->Head();
-
 
40
				m_iServerPos = 1;
-
 
41
			}
-
 
42
			else
-
 
43
			{
-
 
44
				m_pCurrentServer = m_pCurrentServer->next;
-
 
45
				++m_iServerPos;
-
 
46
			}
-
 
47
 
-
 
48
			// last server done
-
 
49
			if ( !m_pCurrentServer )
-
 
50
			{
-
 
51
				Finished();
-
 
52
				return;
-
 
53
			}
-
 
54
 
-
 
55
			this->label2->Text = Convert::ToString(m_iServerPos) + " / " + Convert::ToString(m_pServers->Count());
-
 
56
			this->label3->Text = SystemStringFromCyString(m_pCurrentServer->str);
-
 
57
 
-
 
58
			this->backgroundWorker1->RunWorkerAsync();
-
 
59
		}
-
 
60
 
-
 
61
		void Finished()
-
 
62
		{
-
 
63
			Close();
-
 
64
		}
-
 
65
 
26
 
66
		void ExtractWebData(String ^data)
27
		void NextServer();
67
		{
-
 
68
			cli::array<String ^> ^lines = data->Split('\n');
-
 
69
			if ( lines )
28
		void Finished();
70
			{
-
 
71
				 for ( int i = 0; i < lines->Length; i++ )
29
		void ExtractWebData(String ^data);
72
					 m_pPackages->ParseAvailablePackage(CyStringFromSystemString(lines[i]).Remove(9).Remove('\r'), m_pCurrentServer->str);
-
 
73
			}
-
 
74
		}
-
 
75
 
30
 
76
	protected:
31
	protected:
77
		/// <summary>
32
		/// <summary>
78
		/// Clean up any resources being used.
33
		/// Clean up any resources being used.
79
		/// </summary>
34
		/// </summary>
Line 277... Line 232...
277
#pragma endregion
232
#pragma endregion
278
	private: System::Void DownloadPackageList_Load(System::Object^  sender, System::EventArgs^  e) {
233
	private: System::Void DownloadPackageList_Load(System::Object^  sender, System::EventArgs^  e) {
279
				 this->NextServer();
234
				 this->NextServer();
280
			 }
235
			 }
281
private: System::Void backgroundWorker1_DoWork(System::Object^  sender, System::ComponentModel::DoWorkEventArgs^  e) {
236
private: System::Void backgroundWorker1_DoWork(System::Object^  sender, System::ComponentModel::DoWorkEventArgs^  e) {
282
			 String ^url = SystemStringFromCyString(m_pCurrentServer->str) + "\\xpackagedata.dat";
237
			 String ^url = SystemStringFromCyString(m_pCurrentServer->str) + "/xpackagedata.dat";
283
			 int error = CheckWebFileExists(url);
238
			 int error = CheckWebFileExists(url);
284
 
239
 
285
			 if ( backgroundWorker1->CancellationPending )
240
			 if ( backgroundWorker1->CancellationPending )
286
				 return;
241
				 return;
287
 
242