aboutsummaryrefslogtreecommitdiffstats
path: root/native
diff options
context:
space:
mode:
Diffstat (limited to 'native')
-rw-r--r--native/jni/Android.mk1
-rw-r--r--native/jni/com_android_inputmethod_latin_makedict_BinaryDictInputOutput.cpp47
-rw-r--r--native/jni/com_android_inputmethod_latin_makedict_BinaryDictInputOutput.h25
-rw-r--r--native/jni/jni_common.cpp9
4 files changed, 82 insertions, 0 deletions
diff --git a/native/jni/Android.mk b/native/jni/Android.mk
index 6e1d765b3..8d51a2f26 100644
--- a/native/jni/Android.mk
+++ b/native/jni/Android.mk
@@ -43,6 +43,7 @@ LATIN_IME_JNI_SRC_FILES := \
com_android_inputmethod_keyboard_ProximityInfo.cpp \
com_android_inputmethod_latin_BinaryDictionary.cpp \
com_android_inputmethod_latin_DicTraverseSession.cpp \
+ com_android_inputmethod_latin_makedict_BinaryDictInputOutput.cpp \
jni_common.cpp
LATIN_IME_CORE_SRC_FILES := \
diff --git a/native/jni/com_android_inputmethod_latin_makedict_BinaryDictInputOutput.cpp b/native/jni/com_android_inputmethod_latin_makedict_BinaryDictInputOutput.cpp
new file mode 100644
index 000000000..f78883c2d
--- /dev/null
+++ b/native/jni/com_android_inputmethod_latin_makedict_BinaryDictInputOutput.cpp
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#define LOG_TAG "LatinIME: jni: BinaryDictInputOutput"
+
+#include "com_android_inputmethod_latin_makedict_BinaryDictInputOutput.h"
+
+#include "defines.h"
+#include "jni.h"
+#include "jni_common.h"
+
+namespace latinime {
+static int latinime_BinaryDictInputOutput_doNothing(JNIEnv *env, jclass clazz) {
+ // This is a phony method for test - it does nothing. It just returns some value
+ // unlikely to be in memory by chance for testing purposes.
+ // TODO: remove this method.
+ return 2097;
+}
+
+static const JNINativeMethod sMethods[] = {
+ {
+ // TODO: remove this entry when we have one useful method in here
+ const_cast<char *>("doNothing"),
+ const_cast<char *>("()I"),
+ reinterpret_cast<void *>(latinime_BinaryDictInputOutput_doNothing)
+ },
+};
+
+int register_BinaryDictInputOutput(JNIEnv *env) {
+ const char *const kClassPathName =
+ "com/android/inputmethod/latin/makedict/BinaryDictInputOutput";
+ return registerNativeMethods(env, kClassPathName, sMethods, NELEMS(sMethods));
+}
+} // namespace latinime
diff --git a/native/jni/com_android_inputmethod_latin_makedict_BinaryDictInputOutput.h b/native/jni/com_android_inputmethod_latin_makedict_BinaryDictInputOutput.h
new file mode 100644
index 000000000..e622ed4ba
--- /dev/null
+++ b/native/jni/com_android_inputmethod_latin_makedict_BinaryDictInputOutput.h
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _COM_ANDROID_INPUTMETHOD_LATIN_MAKEDICT_BINARYDICTINPUTOUTPUT_H
+#define _COM_ANDROID_INPUTMETHOD_LATIN_MAKEDICT_BINARYDICTINPUTOUTPUT_H
+
+#include "jni.h"
+
+namespace latinime {
+int register_BinaryDictInputOutput(JNIEnv *env);
+} // namespace latinime
+#endif // _COM_ANDROID_INPUTMETHOD_LATIN_MAKEDICT_BINARYDICTINPUTOUTPUT_H
diff --git a/native/jni/jni_common.cpp b/native/jni/jni_common.cpp
index f2867d7c3..733e15f73 100644
--- a/native/jni/jni_common.cpp
+++ b/native/jni/jni_common.cpp
@@ -18,9 +18,12 @@
#include "jni_common.h"
+#ifndef HOST_TOOL
#include "com_android_inputmethod_keyboard_ProximityInfo.h"
#include "com_android_inputmethod_latin_BinaryDictionary.h"
#include "com_android_inputmethod_latin_DicTraverseSession.h"
+#endif
+#include "com_android_inputmethod_latin_makedict_BinaryDictInputOutput.h"
#include "defines.h"
/*
@@ -38,6 +41,7 @@ jint JNI_OnLoad(JavaVM *vm, void *reserved) {
AKLOGE("ERROR: JNIEnv is invalid");
return -1;
}
+#ifndef HOST_TOOL
if (!latinime::register_BinaryDictionary(env)) {
AKLOGE("ERROR: BinaryDictionary native registration failed");
return -1;
@@ -50,6 +54,11 @@ jint JNI_OnLoad(JavaVM *vm, void *reserved) {
AKLOGE("ERROR: ProximityInfo native registration failed");
return -1;
}
+#endif
+ if (!latinime::register_BinaryDictInputOutput(env)) {
+ AKLOGE("ERROR: BinaryDictInputOutput native registration failed");
+ return -1;
+ }
/* success -- return valid version number */
return JNI_VERSION_1_6;
}