diff options
author | 2012-07-02 04:43:48 -0700 | |
---|---|---|
committer | 2012-07-02 04:43:48 -0700 | |
commit | 83649cb400797d6382218d99fe496a080aa4a026 (patch) | |
tree | b4e75eadc64f5b7ed0be8f42f032262c9189ab64 /native/jni/src/gesture/incremental_decoder_interface.h | |
parent | d6496c091392481850c7d0103b19bc9619459d08 (diff) | |
parent | 8658e552f350167bb8f5af7b9e991775f2cc6a6d (diff) | |
download | latinime-83649cb400797d6382218d99fe496a080aa4a026.tar.gz latinime-83649cb400797d6382218d99fe496a080aa4a026.tar.xz latinime-83649cb400797d6382218d99fe496a080aa4a026.zip |
Merge "Makefile and source code structure update for LatinIME AOSP build"
Diffstat (limited to 'native/jni/src/gesture/incremental_decoder_interface.h')
-rw-r--r-- | native/jni/src/gesture/incremental_decoder_interface.h | 39 |
1 files changed, 34 insertions, 5 deletions
diff --git a/native/jni/src/gesture/incremental_decoder_interface.h b/native/jni/src/gesture/incremental_decoder_interface.h index 565f89c90..1f92affb6 100644 --- a/native/jni/src/gesture/incremental_decoder_interface.h +++ b/native/jni/src/gesture/incremental_decoder_interface.h @@ -17,15 +17,16 @@ #ifndef LATINIME_INCREMENTAL_DECODER_INTERFACE_H #define LATINIME_INCREMENTAL_DECODER_INTERFACE_H -#include "bigram_dictionary.h" +#include <stdint.h> #include "defines.h" -#include "proximity_info.h" -#include "unigram_dictionary.h" namespace latinime { -class IncrementalDecoderInterface { +class UnigramDictionary; +class BigramDictionary; +class ProximityInfo; +class IncrementalDecoderInterface { public: virtual int getSuggestions(ProximityInfo *pInfo, int *inputXs, int *inputYs, int *times, int *pointerIds, int *codes, int inputSize, int commitPoint, @@ -35,7 +36,35 @@ class IncrementalDecoderInterface { const uint8_t *dictRoot, int rootPos) = 0; virtual void setPrevWord(const int32_t *prevWord, int prevWordLength) = 0; virtual ~IncrementalDecoderInterface() { }; + + static IncrementalDecoderInterface *getGestureDecoderInstance(int maxWordLength, int maxWords) { + if (sGestureDecoderFactoryMethod) { + return sGestureDecoderFactoryMethod(maxWordLength, maxWords); + } + return 0; + } + + static IncrementalDecoderInterface *getIncrementalDecoderInstance(int maxWordLength, + int maxWords) { + if (sIncrementalDecoderFactoryMethod) { + return sIncrementalDecoderFactoryMethod(maxWordLength, maxWords); + } + return 0; + } + + static void setGestureDecoderFactoryMethod( + IncrementalDecoderInterface *(*factoryMethod)(int, int)) { + sGestureDecoderFactoryMethod = factoryMethod; + } + + static void setIncrementalDecoderFactoryMethod( + IncrementalDecoderInterface *(*factoryMethod)(int, int)) { + sIncrementalDecoderFactoryMethod = factoryMethod; + } + + private: + static IncrementalDecoderInterface *(*sGestureDecoderFactoryMethod)(int, int); + static IncrementalDecoderInterface *(*sIncrementalDecoderFactoryMethod)(int, int); }; } // namespace latinime - #endif // LATINIME_INCREMENTAL_DECODER_INTERFACE_H |