#include "Xpclucene.h" #include "nsLuceneIndexWriter.h" #include "nsLuceneDocument.h" #include "nsLuceneFactory.h" #include "CLucene/CLConfig.h" #include "CLucene.h" NS_IMPL_ISUPPORTS1(nsLuceneIndexWriter, nsILuceneIndexWriter) nsLuceneIndexWriter::nsLuceneIndexWriter(lucene::index::IndexWriter *pIndexWriter) { mIndexWriter = pIndexWriter; } nsLuceneIndexWriter::~nsLuceneIndexWriter() { delete mIndexWriter; } NS_IMETHODIMP nsLuceneIndexWriter::DocCount(PRInt16 *_retval) { LUCENETRYCATCH_START *_retval = mIndexWriter->docCount(); return NS_OK; LUCENETRYCATCH_END } NS_IMETHODIMP nsLuceneIndexWriter::Close() { LUCENETRYCATCH_START mIndexWriter->close(); return NS_OK; LUCENETRYCATCH_END } NS_IMETHODIMP nsLuceneIndexWriter::AddDocument(nsILuceneDocument* doc) { LUCENETRYCATCH_START lucene::document::Document* document = ((nsLuceneDocument*) doc)->getDocument(); mIndexWriter->addDocument(document); return NS_OK; LUCENETRYCATCH_END } NS_IMETHODIMP nsLuceneIndexWriter::Optimize() { LUCENETRYCATCH_START mIndexWriter->optimize(); return NS_OK; LUCENETRYCATCH_END }