public void SearchTorrent(string searchEngine, string searchString, string sortOrder, object id) { Log.Instance().Print(string.Format("search torrents {0} {1} {2}", searchEngine, searchString, sortOrder)); TorrentSearchParameters p = new TorrentSearchParameters(searchEngine, searchString, sortOrder, null); _bgWorker = new BackgroundWorker(); _bgWorker.DoWork += new DoWorkEventHandler(_bgWorker_DoWork); _bgWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(_bgWorker_RunWorkerCompleted); _bgWorker.ProgressChanged += new ProgressChangedEventHandler(_bgWorker_ProgressChanged); _bgWorker.WorkerSupportsCancellation = true; _bgWorker.RunWorkerAsync(p); }
void _bgWorker_DoWork(object sender, DoWorkEventArgs e) { TorrentSearchParameters p = e.Argument as TorrentSearchParameters; TorrentSearchEngine tse = null; try { tse = new TorrentSearchEngine(Configuration.Instance().Settings["TorrentSearch.Config"] as string); } catch { Log.Instance().Print("Mytorrents.xml cofig file loading failed!"); } ITorrentSearch t = tse.Create(p.SearchEngine); TorrentMatchList matchList = t.Search(p.SearchString, p.SortOrder, null); e.Result = matchList; }