Ejemplo n.º 1
0
        // http://learn.adobe.com/wiki/display/ADCdocs/Appcasting+RSS

        #region IUpdateFeedReader Members

        public IList <IUpdateTask> Read(string feed)
        {
            var doc = new XmlDocument();

            doc.LoadXml(feed);
            var nl = doc.SelectNodes("/rss/channel/item");

            var ret = new List <IUpdateTask>();

            foreach (XmlNode n in nl)
            {
                var task = new FileUpdateTask();
                task.Description = n["description"].InnerText;
                task.UpdateTo    = n["enclosure"].Attributes["url"].Value;

                var cnd = new FileVersionCondition();
                cnd.Version = n["appcast:version"].InnerText;
                if (task.UpdateConditions == null)
                {
                    task.UpdateConditions = new BooleanCondition();
                }
                task.UpdateConditions.AddCondition(cnd, BooleanCondition.ConditionType.AND);

                ret.Add(task);
            }

            return(ret);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Loops over the update tasks and looks for 'SessionMapSwitcher.exe'
        /// </summary>
        /// <returns> true if FileUpdateTask is found with the name 'SessionMapSwitcher.exe' </returns>
        public static bool HasUpdatesAvailable()
        {
            foreach (IUpdateTask task in AppUpdater.Tasks)
            {
                if (task is FileUpdateTask)
                {
                    FileUpdateTask fileTask = (task as FileUpdateTask);
                    if (fileTask.LocalPath == _nameOfExe)
                    {
                        return(true);
                    }
                }
            }

            return(false);
        }
Ejemplo n.º 3
0
        // http://learn.adobe.com/wiki/display/ADCdocs/Appcasting+RSS

        #region IUpdateFeedReader Members

        public IList <IUpdateTask> Read(string feed)
        {
            XmlDocument doc = new XmlDocument();

            doc.LoadXml(feed);
            XmlNodeList nl = doc.SelectNodes("/rss/channel/item");

            List <IUpdateTask> ret = new List <IUpdateTask>();

            foreach (XmlNode n in nl)
            {
                FileUpdateTask task = new FileUpdateTask();
                task.Description = n["description"].InnerText;
                task.Attributes.Add("remotePath", n["enclosure"].Attributes["url"].Value);

                FileVersionCondition cnd = new FileVersionCondition();
                cnd.Attributes.Add("version", n["appcast:version"].InnerText);
                task.UpdateConditions.AddCondition(cnd, BooleanCondition.ConditionType.AND);

                ret.Add(task);
            }

            return(ret);
        }
Ejemplo n.º 4
0
        public IList<IUpdateTask> Read(string feed)
        {
            XmlDocument doc = new XmlDocument();
            doc.LoadXml(feed);
            XmlNodeList nl = doc.SelectNodes("/rss/channel/item");

            List<IUpdateTask> ret = new List<IUpdateTask>();

            foreach (XmlNode n in nl)
            {
                FileUpdateTask task = new FileUpdateTask();
                task.Description = n["description"].InnerText;
                task.UpdateTo = n["enclosure"].Attributes["url"].Value;

                FileVersionCondition cnd = new FileVersionCondition();
                cnd.Version = n["appcast:version"].InnerText;
                if (task.UpdateConditions == null) task.UpdateConditions = new BooleanCondition();
                task.UpdateConditions.AddCondition(cnd, BooleanCondition.ConditionType.AND);

                ret.Add(task);
            }

            return ret;
        }
Ejemplo n.º 5
0
        public void TestTaskDefaultCharacteristics()
        {
            var task = new FileUpdateTask();             // just a random task object

            Assert.IsTrue(task.ExecutionStatus == TaskExecutionStatus.Pending);
        }