am 53702633: Merge "Initial step to support version 4 format in native code."

* commit '53702633e22c08a0bdbbc305f317e402e7193268':
  Initial step to support version 4 format in native code.
main
Keisuke Kuroyanagi 2013-10-15 19:14:20 -07:00 committed by Android Git Automerger
commit 5f57ea2605
5 changed files with 12 additions and 0 deletions

View File

@ -42,6 +42,9 @@ namespace latinime {
return new PatriciaTriePolicy(mmapedBuffer);
case FormatUtils::VERSION_3:
return new DynamicPatriciaTriePolicy(mmapedBuffer);
case FormatUtils::VERSION_4:
// TODO: Support version 4 dictionary format.
// Fall through.
default:
AKLOGE("DICT: dictionary format is unknown, bad magic number");
delete mmapedBuffer;

View File

@ -118,6 +118,9 @@ const char *const HeaderReadWriteUtils::REQUIRES_FRENCH_LIGATURE_PROCESSING_KEY
case FormatUtils::VERSION_3:
return buffer->writeUintAndAdvancePosition(3 /* data */,
HEADER_DICTIONARY_VERSION_SIZE, writingPos);
case FormatUtils::VERSION_4:
return buffer->writeUintAndAdvancePosition(4 /* data */,
HEADER_DICTIONARY_VERSION_SIZE, writingPos);
default:
return false;
}

View File

@ -33,6 +33,9 @@ const char *const DictFileWritingUtils::TEMP_FILE_SUFFIX_FOR_WRITING_DICT_FILE =
switch (dictVersion) {
case 3:
return createEmptyV3DictFile(filePath, attributeMap);
case 4:
// TODO: Support version 4 dictionary format.
return false;
default:
// Only version 3 dictionary is supported for now.
return false;

View File

@ -45,6 +45,8 @@ const int FormatUtils::DICTIONARY_MINIMUM_SIZE = 12;
return VERSION_2;
} else if (ByteArrayUtils::readUint16(dict, 4) == 3) {
return VERSION_3;
} else if (ByteArrayUtils::readUint16(dict, 4) == 4) {
return VERSION_4;
} else {
return UNKNOWN_VERSION;
}

View File

@ -31,6 +31,7 @@ class FormatUtils {
enum FORMAT_VERSION {
VERSION_2,
VERSION_3,
VERSION_4,
UNKNOWN_VERSION
};