private void LaunchIndexable()
        {
            // Cancel running task before adding a new one
            CancelIndexable();

            // Add the new indexable generator
            indexable_generator = new ThunderbirdIndexableGenerator(this, queryable.ToIndexDirectory);

            Scheduler.Task task = queryable.NewAddTask(indexable_generator);
            task.Tag = TAG;
            queryable.ThisScheduler.Add(task);
        }
        public void IndexFile(string file)
        {
            TB.Account account = GetParentAccount(file);

            if (account == null || supported_types [account.Type] == null || Thunderbird.GetFileSize(file) < 1)
            {
                return;
            }

            object[] param = new object[] { this, account, file };
            ThunderbirdIndexableGenerator generator = Activator.CreateInstance(
                (Type)supported_types [account.Type], param) as ThunderbirdIndexableGenerator;

            AddIIndexableTask(generator, file);
        }
 public ThunderbirdIndexer(ThunderbirdQueryable queryable)
 {
     this.queryable           = queryable;
     this.indexable_generator = null;
 }
		private void LaunchIndexable ()
		{
			// Cancel running task before adding a new one
			CancelIndexable ();
			
			// Add the new indexable generator
			indexable_generator = new ThunderbirdIndexableGenerator (this, queryable.ToIndexDirectory);
			
			Scheduler.Task task = queryable.NewAddTask (indexable_generator);
			task.Tag = TAG;
			queryable.ThisScheduler.Add (task);
		}
		public ThunderbirdIndexer (ThunderbirdQueryable queryable)
		{
			this.queryable = queryable;
			this.indexable_generator = null;
		}