1
/*****************************************************************************
2
* This file is part of Kiten, a KDE Japanese Reference Tool *
3
* Copyright (C) 2001 Jason Katz-Brown <jason@katzbrown.com> *
4
* Copyright (C) 2008 Joseph Kerian <jkerian@gmail.com> *
6
* This library is free software; you can redistribute it and/or *
7
* modify it under the terms of the GNU Library General Public *
8
* License as published by the Free Software Foundation; either *
9
* version 2 of the License, or (at your option) any later version. *
11
* This library is distributed in the hope that it will be useful, *
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
14
* Library General Public License for more details. *
16
* You should have received a copy of the GNU Library General Public License *
17
* along with this library; see the file COPYING.LIB. If not, write to *
18
* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, *
19
* Boston, MA 02110-1301, USA. *
20
*****************************************************************************/
22
#ifndef KITEN_INDEXEDEDICTFILE_H
23
#define KITEN_INDEXEDEDICTFILE_H
30
#ifdef HAVE_INTTYPES_H
33
typedef unsigned int uint32_t;
37
* A class for managing the EDICT formatted dictionaries with their
38
* dictionary files. This class is not really designed for subclassing.
40
class /* NO_EXPORT */ IndexedEdictFile
44
* Create and initialize this object
50
* Get everything that looks remotely like a given search string
52
QVector<QString> findMatches( const QString &query ) const;
55
* Load a file, generate the index if it doesn't already exist
57
bool loadFile( const QString &fileName );
60
* Test if the file was properly loaded
66
bool checkIndex() const;
67
int equalOrSubstring( const char* str1, const char* str2 ) const;
68
uint32_t findFirstMatch( const QByteArray &query ) const;
69
int findMatches( const char* str1, const char* str2 ) const;
71
unsigned char lookupDictChar( uint32_t i ) const;
72
QByteArray lookupDictLine( uint32_t i ) const;
73
QByteArray lookupFullLine( uint32_t i ) const;
77
unsigned char *m_dictPtr;
78
mutable QFile m_indexFile;
81
static const int indexFileVersion = 14;