Exemplo n.º 1
0
        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();
        }
Exemplo n.º 2
0
 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();
 }