util/tools/assistant/lib/fulltextsearch/qindexreader_p.h
changeset 7 f7bc934e204c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/util/tools/assistant/lib/fulltextsearch/qindexreader_p.h	Wed Mar 31 11:06:36 2010 +0300
@@ -0,0 +1,115 @@
+/****************************************************************************
+**
+** Copyright (C) 2003-2006 Ben van Klinken and the CLucene Team.
+** All rights reserved.
+**
+** Portion Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+**
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this file.
+** Please review the following information to ensure the GNU Lesser General
+** Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+****************************************************************************/
+
+#ifndef QINDEXREADER_P_H
+#define QINDEXREADER_P_H
+
+//
+//  W A R N I N G
+//  -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of the help generator tools. This header file may change from version
+// to version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include "qterm_p.h"
+#include "qdocument_p.h"
+#include "qclucene_global_p.h"
+
+#include <QtCore/QList>
+#include <QtCore/QString>
+#include <QtCore/QSharedDataPointer>
+#include <QtCore/QSharedData>
+
+CL_NS_DEF(index)
+    class IndexReader;
+CL_NS_END
+CL_NS_USE(index)
+
+QT_BEGIN_NAMESPACE
+
+class QCLuceneIndexWriter;
+class QCLuceneIndexSearcher;
+
+class QHELP_EXPORT QCLuceneIndexReaderPrivate : public QSharedData
+{
+public:
+    QCLuceneIndexReaderPrivate();
+    QCLuceneIndexReaderPrivate(const QCLuceneIndexReaderPrivate &other);
+
+    ~QCLuceneIndexReaderPrivate();
+
+    IndexReader *reader;
+    bool deleteCLuceneIndexReader;
+
+private:
+    QCLuceneIndexReaderPrivate &operator=(const QCLuceneIndexReaderPrivate &other);
+};
+
+class QHELP_EXPORT QCLuceneIndexReader
+{
+public:
+    enum FieldOption {
+		ALL = 1,
+		INDEXED = 2,
+		UNINDEXED = 4,
+		INDEXED_WITH_TERMVECTOR = 8,
+		INDEXED_NO_TERMVECTOR = 16,
+		TERMVECTOR = 32,
+		TERMVECTOR_WITH_POSITION = 64,
+		TERMVECTOR_WITH_OFFSET = 128,
+		TERMVECTOR_WITH_POSITION_OFFSET = 256
+	};
+
+    virtual ~QCLuceneIndexReader();
+
+    static bool isLuceneFile(const QString &filename);
+    static bool indexExists(const QString &directory);
+    static QCLuceneIndexReader open(const QString &path);
+    
+    static void unlock(const QString &path);
+    static bool isLocked(const QString &directory);
+
+	static quint64 lastModified(const QString &directory);
+	static qint64 getCurrentVersion(const QString &directory);
+
+    void close();
+    bool isCurrent();
+	void undeleteAll();
+	qint64 getVersion();
+	void deleteDocument(qint32 docNum);
+    bool hasNorms(const QString &field);
+    qint32 deleteDocuments(const QCLuceneTerm &term);
+    bool document(qint32 index, QCLuceneDocument &document);
+    void setNorm(qint32 doc, const QString &field, qreal value);
+    void setNorm(qint32 doc, const QString &field, quint8 value);
+
+protected:
+    friend class QCLuceneIndexWriter;
+    friend class QCLuceneIndexSearcher;
+    QSharedDataPointer<QCLuceneIndexReaderPrivate> d;
+
+private:
+    QCLuceneIndexReader();
+};
+
+QT_END_NAMESPACE
+
+#endif  // QINDEXREADER_P_H