/*
 * BEGIN FLOCK GPL
 * 
 * Copyright Flock Inc. 2005-2006
 * http://flock.com
 * 
 * This file may be used under the terms of of the
 * GNU General Public License Version 2 or later (the "GPL"),
 * http://www.gnu.org/licenses/gpl.html
 * 
 * Software distributed under the License is distributed on an "AS IS" basis,
 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
 * for the specific language governing rights and limitations under the
 * License.
 * 
 * END FLOCK GPL
 */

#include "nsISupports.idl"
#include "flockIHistorySearchService.idl"
#include "nsIRDFDataSource.idl"

[scriptable, uuid(5f2e98a5-469e-4841-a668-f87faf62d514)]
interface flockILuceneIndexer : nsISupports
{
    /**
     * Add the document with url @aURL.
     */
    void AddDocument (in string aURL);

    /**
     * Try to delete the document with url @aURL if its no longer a bookmark
     * or in the history.
     */
    boolean TryToDelete (in string aURL);

	/** 
	 * Search the index with the query @aQuery and return at most 
	 * @aMaxResults results to @aListener in @aDataSource.
	 */
	nsIRDFDataSource Search (in AString aQuery, in long aMaxResults, in flockIHistorySearchListener aListener);
};

