diff options
author | 2012-06-30 08:53:33 +0900 | |
---|---|---|
committer | 2012-07-02 20:20:42 +0900 | |
commit | 8658e552f350167bb8f5af7b9e991775f2cc6a6d (patch) | |
tree | dd2045310f65d25f74ad9ef390595620b72a397a /native/jni/src/gesture/incremental_decoder_interface.h | |
parent | 26c45718a595e96a3fffd4fc6307e926a8c2ad70 (diff) | |
download | latinime-8658e552f350167bb8f5af7b9e991775f2cc6a6d.tar.gz latinime-8658e552f350167bb8f5af7b9e991775f2cc6a6d.tar.xz latinime-8658e552f350167bb8f5af7b9e991775f2cc6a6d.zip |
Makefile and source code structure update for LatinIME AOSP build
Change-Id: Ia2ab54651ef96521fce01fe4755147909b818803
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 |