/// <summary> /// バックグラウンドでの処理を行います。 /// フィードの更新処理を行います。 /// 設定パラメータは Hashtable で指定します。 /// Hashtable["Url"] ... フィードのURLを指定します。指定がない場合、全フィードの更新を行います。 /// Hashtable["ExpandAll"] ... true の場合、読み込み後に全ツリーノードを開きます。 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void backgroundWorkerUpdateFeed_DoWork(object sender, DoWorkEventArgs e) { var worker = (BackgroundWorker)sender; worker.ReportProgress(0); Hashtable args = (Hashtable)e.Argument; if (args == null) { args = new Hashtable(); } Feed.FeedReader feedReader = new Feed.FeedReader(); if (args.ContainsKey("Url")) { Uri uri = new Uri((string)args["Url"]); Feed.FeedInfo info = feedReader.Read(uri, settingsManager.Setting.DummyUserAgent); if (null == info) { args["Error"] = true; } else { if (false == this.feedTreeManager.UpdateFeed(info)) { args["Error"] = true; } } } else { foreach (var url in settingsManager.Setting.FeedUrls) { var uri = new Uri(url); var feed = feedReader.Read(uri, settingsManager.Setting.DummyUserAgent); this.feedTreeManager.UpdateFeed(feed); } } e.Result = args; }
/// <summary> /// バックグラウンドでの処理を行います。 /// フィードの更新処理を行います。 /// 設定パラメータは Hashtable で指定します。 /// Hashtable["Url"] ... フィードのURLを指定します。指定がない場合、全フィードの更新を行います。 /// Hashtable["ExpandAll"] ... true の場合、読み込み後に全ツリーノードを開きます。 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void backgroundWorkerUpdateFeed_DoWork(object sender, DoWorkEventArgs e) { var worker = (BackgroundWorker)sender; worker.ReportProgress(0); Hashtable args = (Hashtable)e.Argument; if (args == null) { args = new Hashtable(); } Feed.FeedReader feedReader = new Feed.FeedReader(); if (args.ContainsKey("Url")) { Uri uri = new Uri((string)args["Url"]); Feed.FeedInfo info = feedReader.Read(uri); if (null == info) { args["Error"] = true; } else { if (false == this.feedTreeManager.UpdateFeed(info)) { args["Error"] = true; } } } else { foreach (var url in settingsManager.Setting.FeedUrls) { var uri = new Uri(url); var feed = feedReader.Read(uri); this.feedTreeManager.UpdateFeed(feed); } } e.Result = args; }