diff options
Diffstat (limited to 'native/jni/com_android_inputmethod_latin_DicTraverseSession.cpp')
-rw-r--r-- | native/jni/com_android_inputmethod_latin_DicTraverseSession.cpp | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/native/jni/com_android_inputmethod_latin_DicTraverseSession.cpp b/native/jni/com_android_inputmethod_latin_DicTraverseSession.cpp index 8ee0450e4..0f5c39642 100644 --- a/native/jni/com_android_inputmethod_latin_DicTraverseSession.cpp +++ b/native/jni/com_android_inputmethod_latin_DicTraverseSession.cpp @@ -23,21 +23,30 @@ namespace latinime { void *(*DicTraverseWrapper::sDicTraverseSessionFactoryMethod)() = 0; void (*DicTraverseWrapper::sDicTraverseSessionReleaseMethod)(void *) = 0; +void (*DicTraverseWrapper::sDicTraverseSessionInitMethod)( + JNIEnv *, void *, const jintArray, const jint) = 0; static jlong latinime_setDicTraverseSession(JNIEnv *env, jobject object, jstring localejStr) { - void *session = DicTraverseWrapper::getDicTraverseSession(); - return reinterpret_cast<jlong>(session); + void *traverseSession = DicTraverseWrapper::getDicTraverseSession(); + return reinterpret_cast<jlong>(traverseSession); } -static void latinime_DicTraverseSession_release(JNIEnv *env, jobject object, jlong session) { - void *pi = reinterpret_cast<void*>(session); - if (!pi) return; - DicTraverseWrapper::releaseDicTraverseSession(pi); +static void latinime_initDicTraverseSession(JNIEnv *env, jlong traverseSession, + jintArray previousWord, jint previousWordLength) { + void *ts = reinterpret_cast<void*>(traverseSession); + DicTraverseWrapper::initDicTraverseSession(env, ts, previousWord, previousWordLength); +} + +static void latinime_DicTraverseSession_release( + JNIEnv *env, jobject object, jlong traverseSession) { + void *ts = reinterpret_cast<void*>(traverseSession); + DicTraverseWrapper::releaseDicTraverseSession(ts); } static JNINativeMethod sMethods[] = { {"setDicTraverseSessionNative", "(Ljava/lang/String;)J", (void*)latinime_setDicTraverseSession}, + {"initDicTraverseSessionNative", "(J[II)V", (void*)latinime_initDicTraverseSession}, {"releaseDicTraverseSessionNative", "(J)V", (void*)latinime_DicTraverseSession_release} }; |