Base class to filter search databases.
        Searcher(IEnumerable <SearcherDatabaseBase> databases, string title, ISearcherAdapter adapter, SearcherFilter filter)
        {
            m_Databases = new List <SearcherDatabaseBase>();
            var databaseId = 0;

            foreach (var database in databases)
            {
                // This is needed for sorting items between databases.
                database.OverwriteId(databaseId);
                databaseId++;
                database.SetCurrentFilter(filter);

                m_Databases.Add(database);
            }

            Adapter = adapter ?? new SearcherAdapter(title);
        }
 public Searcher(SearcherDatabaseBase database, ISearcherAdapter adapter = null, SearcherFilter filter = null)
     : this(new List <SearcherDatabaseBase> {
     database
 }, adapter, filter)
 {
 }
 public Searcher(IEnumerable <SearcherDatabaseBase> databases, ISearcherAdapter adapter = null, SearcherFilter filter = null)
     : this(databases, string.Empty, adapter, filter)
 {
 }
 public Searcher(IEnumerable <SearcherDatabaseBase> databases, string title, SearcherFilter filter = null)
     : this(databases, title, null, filter)
 {
 }