public void init() { /* ---------------------------- * LOCATE PROVIDER * ------------------------- */ _providerLocatorAndAvailabilityWorker = new ProviderLocatorAndAvailabilityWorker(this.ApplicationSettings.ProviderDirectories); // append provider and forward provider located event _providerLocatorAndAvailabilityWorker.Located += delegate(Object sender, IProvider provider) { log.Debug("provider located - " + provider.ToString()); this.appendProvider(provider); // if (this.ProviderAvailabilityChanged != null) { this.ProviderAvailabilityChanged(sender, new ProviderEventArgs(provider.ToString(), provider.getImage(), provider.IsAvailable)); } }; // forward provider location completed event _providerLocatorAndAvailabilityWorker.LocatingCompleted += delegate(Object sender, EventArgs e) { log.Debug("provider locating completed"); if (this.ProviderLocatingCompleted != null) { this.ProviderLocatingCompleted(sender, e); } // }; // forward availability changed _providerLocatorAndAvailabilityWorker.AvailabilityChanged += delegate(Object sender, ProviderEventArgs e) { log.Debug("provider availability changed - " + e.Name); if (this.ProviderAvailabilityChanged != null) { this.ProviderAvailabilityChanged(sender, e); } }; // Thread pInitThread = new Thread(new ThreadStart(_providerLocatorAndAvailabilityWorker.start)); pInitThread.Priority = ThreadPriority.Lowest; pInitThread.Start(); /* ---------------------------- * SEARCH WORKER * ------------------------- */ this._searchWorker = new SearchWorker(); // this._searchWorker.Initialized += delegate(object sender, ProviderEventArgs e) { if (this.SearchInitialized != null) { this.SearchInitialized(sender, e); } }; // this._searchWorker.ItemFound += delegate(object sender, SearchResultItem item) { if (this.SearchItemFound != null) { this.SearchItemFound(sender, item); } }; // this._searchWorker.ItemChanged += delegate(object sender, SearchResultItem item) { if (this.SearchItemChanged != null) { this.SearchItemChanged(sender, item); } }; // this._searchWorker.ProgressChanged += delegate(object sender, ProgressChangedEventArgs e) { if (this.SearchProgressChanged != null) { this.SearchProgressChanged(sender, e); } }; // this._searchWorker.Timeout += delegate(object sender, EventArgs e) { if (this.SearchTimeout != null) { this.SearchTimeout(sender, e); } }; // this._searchWorker.Completed += delegate(object sender, ProviderEventArgs e) { if (this.SearchCompleted != null) { this.SearchCompleted(sender, e); } }; // start search thread this._searchWorkerThread = new Thread(new ThreadStart(this._searchWorker.start)); this._searchWorkerThread.Start(); }
public void init() { /* ---------------------------- * LOCATE PROVIDER * ------------------------- */ _providerLocatorAndAvailabilityWorker = new ProviderLocatorAndAvailabilityWorker(this.ApplicationSettings.ProviderDirectories); // append provider and forward provider located event _providerLocatorAndAvailabilityWorker.Located += delegate(Object sender, IProvider provider) { log.Debug("provider located - " + provider.ToString()); this.appendProvider(provider); // if (this.ProviderAvailabilityChanged != null) { this.ProviderAvailabilityChanged(sender, new ProviderEventArgs(provider.ToString(), provider.getImage(), provider.IsAvailable)); } }; // forward provider location completed event _providerLocatorAndAvailabilityWorker.LocatingCompleted += delegate(Object sender, EventArgs e) { log.Debug("provider locating completed"); if (this.ProviderLocatingCompleted != null) { this.ProviderLocatingCompleted(sender, e); } // }; // forward availability changed _providerLocatorAndAvailabilityWorker.AvailabilityChanged += delegate(Object sender, ProviderEventArgs e) { log.Debug("provider availability changed - " + e.Name); if (this.ProviderAvailabilityChanged != null) { this.ProviderAvailabilityChanged(sender, e); } }; // Thread pInitThread = new Thread(new ThreadStart(_providerLocatorAndAvailabilityWorker.start)); pInitThread.Priority = ThreadPriority.Lowest; pInitThread.Start(); /* ---------------------------- * SEARCH WORKER * ------------------------- */ this._searchWorker = new SearchWorker(); // this._searchWorker.Initialized += delegate(object sender, ProviderEventArgs e) { if (this.SearchInitialized != null) { this.SearchInitialized(sender, e); } }; // this._searchWorker.ItemFound += delegate(object sender, SearchResultItem item) { if (this.SearchItemFound != null) { this.SearchItemFound(sender, item); } }; // this._searchWorker.ItemChanged += delegate(object sender, SearchResultItem item) { if (this.SearchItemChanged != null) { this.SearchItemChanged(sender, item); } }; // this._searchWorker.ProgressChanged += delegate(object sender, ProgressChangedEventArgs e) { if (this.SearchProgressChanged != null) { this.SearchProgressChanged(sender, e); } }; // this._searchWorker.Timeout += delegate(object sender, EventArgs e) { if (this.SearchTimeout != null) { this.SearchTimeout(sender, e); } }; // this._searchWorker.Completed += delegate(object sender, ProviderEventArgs e) { if (this.SearchCompleted != null) { this.SearchCompleted(sender, e); } }; // start search thread this._searchWorkerThread = new Thread(new ThreadStart(this._searchWorker.start)); this._searchWorkerThread.Start(); }