diff options
author | 2013-06-25 07:09:17 +0000 | |
---|---|---|
committer | 2013-06-25 07:09:17 +0000 | |
commit | 0bb6eb32064be491c42f5528e949d8365e82edb8 (patch) | |
tree | 44e6bcdf99c843a1ecc688ddbd2add55e1acea4b /native/jni/src | |
parent | 10585620bdfad418f6c093ab4bfd8efaa2d84abf (diff) | |
parent | 46159d5422b9fd92969f522fa51c7601d531927a (diff) | |
download | latinime-0bb6eb32064be491c42f5528e949d8365e82edb8.tar.gz latinime-0bb6eb32064be491c42f5528e949d8365e82edb8.tar.xz latinime-0bb6eb32064be491c42f5528e949d8365e82edb8.zip |
Merge "Move file and mmap information form Dictionary to BinaryDictionaryInfo."
Diffstat (limited to 'native/jni/src')
3 files changed, 24 insertions, 17 deletions
diff --git a/native/jni/src/suggest/core/dictionary/binary_dictionary_info.h b/native/jni/src/suggest/core/dictionary/binary_dictionary_info.h index 0b77e5ee9..c16b5310d 100644 --- a/native/jni/src/suggest/core/dictionary/binary_dictionary_info.h +++ b/native/jni/src/suggest/core/dictionary/binary_dictionary_info.h @@ -29,15 +29,29 @@ class BinaryDictionaryHeader; class BinaryDictionaryInfo { public: - BinaryDictionaryInfo(const uint8_t *const dictBuf, const int dictSize) - : mDictBuf(dictBuf), - mDictionaryFormat(BinaryDictionaryFormat::detectFormatVersion(mDictBuf, dictSize)), + BinaryDictionaryInfo(const uint8_t *const dictBuf, const int dictSize, const int mmapFd, + const int dictBufOffset) + : mDictBuf(dictBuf), mDictSize(dictSize), mMmapFd(mmapFd), + mDictBufOffset(dictBufOffset), + mDictionaryFormat(BinaryDictionaryFormat::detectFormatVersion(mDictBuf, mDictSize)), mDictionaryHeader(this), mDictRoot(mDictBuf + mDictionaryHeader.getSize()) {} AK_FORCE_INLINE const uint8_t *getDictBuf() const { return mDictBuf; } + AK_FORCE_INLINE int getDictSize() const { + return mDictSize; + } + + AK_FORCE_INLINE int getMmapFd() const { + return mMmapFd; + } + + AK_FORCE_INLINE int getDictBufOffset() const { + return mDictBufOffset; + } + AK_FORCE_INLINE const uint8_t *getDictRoot() const { return mDictRoot; } @@ -58,6 +72,9 @@ class BinaryDictionaryInfo { DISALLOW_COPY_AND_ASSIGN(BinaryDictionaryInfo); const uint8_t *const mDictBuf; + const int mDictSize; + const int mMmapFd; + const int mDictBufOffset; const BinaryDictionaryFormat::FORMAT_VERSION mDictionaryFormat; const BinaryDictionaryHeader mDictionaryHeader; const uint8_t *const mDictRoot; diff --git a/native/jni/src/suggest/core/dictionary/dictionary.cpp b/native/jni/src/suggest/core/dictionary/dictionary.cpp index 27b052b7e..b92e5644c 100644 --- a/native/jni/src/suggest/core/dictionary/dictionary.cpp +++ b/native/jni/src/suggest/core/dictionary/dictionary.cpp @@ -32,10 +32,9 @@ namespace latinime { -Dictionary::Dictionary(void *dict, int dictSize, int mmapFd, int dictBufAdjust) - : mBinaryDictionaryInfo(static_cast<const uint8_t *>(dict), dictSize), - mDictSize(dictSize), - mMmapFd(mmapFd), mDictBufAdjust(dictBufAdjust), +Dictionary::Dictionary(void *dict, int dictSize, int mmapFd, int dictBufOffset) + : mBinaryDictionaryInfo( + static_cast<const uint8_t *>(dict), dictSize, mmapFd, dictBufOffset), mBigramDictionary(new BigramDictionary(&mBinaryDictionaryInfo)), mGestureSuggest(new Suggest(GestureSuggestPolicyFactory::getGestureSuggestPolicy())), mTypingSuggest(new Suggest(TypingSuggestPolicyFactory::getTypingSuggestPolicy())) { diff --git a/native/jni/src/suggest/core/dictionary/dictionary.h b/native/jni/src/suggest/core/dictionary/dictionary.h index 151f26183..12884a430 100644 --- a/native/jni/src/suggest/core/dictionary/dictionary.h +++ b/native/jni/src/suggest/core/dictionary/dictionary.h @@ -52,7 +52,7 @@ class Dictionary { static const int KIND_FLAG_POSSIBLY_OFFENSIVE = 0x80000000; static const int KIND_FLAG_EXACT_MATCH = 0x40000000; - Dictionary(void *dict, int dictSize, int mmapFd, int dictBufAdjust); + Dictionary(void *dict, int dictSize, int mmapFd, int dictBufOffset); int getSuggestions(ProximityInfo *proximityInfo, DicTraverseSession *traverseSession, int *xcoordinates, int *ycoordinates, int *times, int *pointerIds, int *inputCodePoints, @@ -68,21 +68,12 @@ class Dictionary { const BinaryDictionaryInfo *getBinaryDictionaryInfo() const { return &mBinaryDictionaryInfo; } - int getDictSize() const { return mDictSize; } - int getMmapFd() const { return mMmapFd; } - int getDictBufAdjust() const { return mDictBufAdjust; } virtual ~Dictionary(); private: DISALLOW_IMPLICIT_CONSTRUCTORS(Dictionary); const BinaryDictionaryInfo mBinaryDictionaryInfo; - // Used only for the mmap version of dictionary loading, but we use these as dummy variables - // also for the malloc version. - const int mDictSize; - const int mMmapFd; - const int mDictBufAdjust; - const BigramDictionary *mBigramDictionary; SuggestInterface *mGestureSuggest; SuggestInterface *mTypingSuggest; |