2 using System.Collections.Generic;
\r
3 using System.ComponentModel;
\r
5 using System.Drawing;
\r
7 using System.Windows.Forms;
\r
10 using System.Text.RegularExpressions;
\r
12 namespace Handbrake.Functions
\r
16 XmlTextReader rssReader;
\r
19 XmlNode nodeChannel;
\r
23 private string readRss()
\r
25 rssReader = new XmlTextReader("http://handbrake.m0k.org/appcast.xml");
\r
26 rssDoc = new XmlDocument();
\r
27 rssDoc.Load(rssReader);
\r
29 for (int i = 0; i < rssDoc.ChildNodes.Count; i++)
\r
31 if (rssDoc.ChildNodes[i].Name == "rss")
\r
33 nodeRss = rssDoc.ChildNodes[i];
\r
37 for (int i = 0; i < nodeRss.ChildNodes.Count; i++)
\r
39 if (nodeRss.ChildNodes[i].Name == "channel")
\r
41 nodeChannel = nodeRss.ChildNodes[i];
\r
45 string latestTitle = "";
\r
46 for (int i = 0; i < nodeChannel.ChildNodes.Count; i++)
\r
49 if (nodeChannel.ChildNodes[i].Name == "item")
\r
51 nodeItem = nodeChannel.ChildNodes[i];
\r
52 latestTitle = nodeItem["title"].InnerText;
\r
59 public string versionInfo()
\r
63 for (int i = 0; i < nodeChannel.ChildNodes.Count; i++)
\r
65 if (nodeChannel.ChildNodes[6].Name == "item")
\r
67 nodeItem = nodeChannel.ChildNodes[0];
\r
69 if (nodeItem["title"].InnerText == t)
\r
71 vinfo = nodeItem["description"].InnerText;
\r
80 public string version()
\r
84 for (int i = 0; i < nodeChannel.ChildNodes.Count; i++)
\r
86 if (nodeChannel.ChildNodes[6].Name == "item")
\r
88 nodeItem = nodeChannel.ChildNodes[0];
\r
89 string t = readRss();
\r
90 if (nodeItem["title"].InnerText == t)
\r
92 string input = nodeItem.InnerXml;
\r
93 Match ver = Regex.Match(input, @"sparkle:shortVersionString=""([0-9].[0-9].[0-9]*)\""");
\r
94 vinfo = ver.ToString().Replace("sparkle:shortVersionString=", "").Replace("\"", "");
\r
103 public string build()
\r
107 for (int i = 0; i < nodeChannel.ChildNodes.Count; i++)
\r
109 if (nodeChannel.ChildNodes[6].Name == "item")
\r
111 nodeItem = nodeChannel.ChildNodes[0];
\r
112 string t = readRss();
\r
113 if (nodeItem["title"].InnerText == t)
\r
115 string input = nodeItem.InnerXml;
\r
116 Match ver = Regex.Match(input, @"sparkle:version=""([0-9]*)\""");
\r
117 vinfo = ver.ToString().Replace("sparkle:version=", "").Replace("\"", "");
\r
125 public string downloadFile()
\r
129 for (int i = 0; i < nodeChannel.ChildNodes.Count; i++)
\r
131 if (nodeChannel.ChildNodes[6].Name == "item")
\r
133 nodeItem = nodeChannel.ChildNodes[0];
\r
135 if (nodeItem["title"].InnerText == t)
\r
137 file = nodeItem["windows"].InnerText;
\r