aboutsummaryrefslogtreecommitdiffstats
path: root/native/jni/src/gesture/incremental_decoder_interface.h
diff options
context:
space:
mode:
authorKen Wakasa <kwakasa@google.com>2012-07-02 04:43:48 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-07-02 04:43:48 -0700
commit83649cb400797d6382218d99fe496a080aa4a026 (patch)
treeb4e75eadc64f5b7ed0be8f42f032262c9189ab64 /native/jni/src/gesture/incremental_decoder_interface.h
parentd6496c091392481850c7d0103b19bc9619459d08 (diff)
parent8658e552f350167bb8f5af7b9e991775f2cc6a6d (diff)
downloadlatinime-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.h39
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