public override void BeginSearch(string query, SearchService.ISearchContext context)
        {
            // To get the original behavior and performance, we set the filter on the root property
            // at the beginning of a search. This will have the effect of filtering the properties
            // during a call to Next() or NextWithDepthCheck(), so Filter() should always return true.
            var hierarchySearchContext = context as HierarchySearchContext;

            hierarchySearchContext?.rootProperty.SetSearchFilter(hierarchySearchContext.filter);
        }
 public virtual bool SelectObject(SearchService.ISearchContext context, Action <Object, bool> onObjectSelectorClosed, Action <Object> onObjectSelectedUpdated)
 {
     return(false);
 }
 public override bool Filter(string query, HierarchyProperty objectToFilter, SearchService.ISearchContext context)
 {
     // Returning true here, since the properties have already been filtered. See BeginSearch().
     return(true);
 }
 public virtual bool Filter(string query, T objectToFilter, SearchService.ISearchContext context)
 {
     return(false);
 }
 public virtual IEnumerable <T> Search(string query, SearchService.ISearchContext context, Action <IEnumerable <T> > asyncItemsReceived)
 {
     return(null);
 }
 public virtual void EndSearch(SearchService.ISearchContext context)
 {
 }
 public virtual void BeginSearch(string query, SearchService.ISearchContext context)
 {
 }
 public virtual void BeginSession(SearchService.ISearchContext context)
 {
 }